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不能阻止事件冒泡。
推荐阅读
- 如何在一个JavaScript文件中包含另一个JavaScript文件(有哪几种方式?)
- 如何在JavaScript中实现复制到剪贴板(如何原生实现,有第三方库吗?)
- 如何重新随机化或者重新排序JavaScript的数组元素()
- JavaScript如何将现有的回调API转为promise(有示范实例吗?)
- PHP | Ds Vector __construct()函数用法介绍
- JavaScript中的箭头函数用法指南
- Scala中的变量用法介绍
- Python 将标签添加到Kivy窗口
- JavaScript中的变量和数据类型介绍