event.preventDefault() vs. return false这两种调用方式有什么区别()

event.preventDefault() vs. return false这两种调用方式有什么区别?当我想在触发某个事件之后阻止其他事件处理程序执行时,可以使用以下两种技术之一。我在示例中使用jQuery,但这也适用于JS。
1、event.preventDefault()

$('a').click(function (e) { // 自定义处理 e.preventDefault(); });

2、return false
$('a').click(function (e) { // 自定义处理 return false; });

这两种停止事件传播的方法有什么显著区别吗?在我看来return false; 更简单、更短,而且可能更不容易出错。使用preventDefault方法,你必须记住正确的大小写、括号等。此外,我还必须在callback中定义第一个参数,以便能够调用该方法。可能也应该避免这样做,而使用preventDefault是有原因的吧?有什么更好的办法?
【event.preventDefault() vs. return false这两种调用方式有什么区别()】问题解释:
在jQuery事件处理程序中返回false实际上等同于同时调用e.preventDefault,e在传递的jQuery.Event上停止传播。事件对象e.preventDefault()将防止发生默认事件,e.stopPropagation()将防止事件冒泡,return false将同时执行这两种操作。请注意,这种行为与普通(非jquery)事件处理程序不同,在普通事件处理程序中,return false不能阻止事件冒泡。

    推荐阅读