当我想阻止其他事件处理程序在某个事件被触发后执行时,可以使用两种技术之一。我将在示例中使用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
改为使用它?有什么更好的方法?
return false
和之间的主要区别event.preventDefault()
是您的代码如下return false
will not be executed and inevent.preventDefault()
case your code will execute after this statement.当您编写return false时,它将在后台为您做以下事情。