我像这样设置了点击事件:
$('.dialogLink')
.click(function () {
dialog(this);
return false;
});
他们都有一个“return false”有人能解释一下这是什么意思,以及它是否必要吗?
我像这样设置了点击事件:
$('.dialogLink')
.click(function () {
dialog(this);
return false;
});
他们都有一个“return false”当你从事件处理程序中返回 false
时,它会阻止该事件的默认操作并停止事件在DOM中的冒泡。也就是说,这相当于执行以下操作:
$('.dialogLink')
.click(function (event) {
dialog(this);
event.preventDefault();
event.stopPropagation();
});
如果'.dialogLink'
是一个<a>
元素,则其在单击时的默认操作是导航到href
。从单击处理程序中返回false
可防止这种情况发生。event.preventDefault()
,并且这在 DOM 2 Events规范中有所说明。$('.dialogLink')
.click(function (e) {
dialog(this);
e.preventDefault();
e.stopPropagation(); // Stop bubbling up
});
return false
会完成工作。 - nnnnnnreturn false
也能达到同样的效果。 :) - Praveen Kumar Purushothaman
event
对象方法的调用,你会注意到我已经将其作为函数的参数添加了。jQuery将该参数设置为与发生的任何事件相关联的event
对象。如果您将event
对象传递给dialog()
函数,则可以调用这些方法,但我认为如果您直接在我展示的地方执行它,它会更易于维护。话虽如此,我建议您坚持使用您已经拥有的return false
:它更短。 - nnnnnn