当我想阻止其他事件处理程序在某个事件被触发后执行时,我可以使用两种技术之一。我将在示例中使用 jQuery,但这也适用于普通 JS:
1. event.preventDefault()
$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
2. return false
$('a').click(function () {
// custom handling here
return false;
});
这两种停止事件传播的方法之间有什么显着区别吗?
对我来说,return false;
比执行一个方法更简单、更短并且可能更不容易出错。使用该方法,您必须记住正确的大小写、括号等。
另外,我必须在回调中定义第一个参数才能调用该方法。也许,有一些原因为什么我应该避免这样做preventDefault
而改用?什么是更好的方法?