发布于 1年前

return false与e.preventDefault()的区别

jQuery

在jQuery的事件处理函数里,

$("div").on("click",function(e) {
    //处理代码
    return false;
});

等同于

$("div").on("click",function(e) {
    //处理代码
    e.preventDefault();
    e.stopPropagation():
});
  • e.preventDefault():终止事件的默认行为发生。
  • e.stopPropagation():终止事件继续冒泡向上传递。

这里两者有一点不同的是:

return false:只能在函数的最后执行
e.preventDefault():可以提前放到函数的第一行,这样就可以一进入函数便可终止事件的默认行为。

原生JavaScript(非jQuery)

根据W3C Document Object Model Events Specification 定义,JavaScript的事件处理函数是没有返回值的。所以推荐在原生的JavaScript处理事件时,使用e.preventDefault()来终止事件的默认行为。

©2020 edoou.com   京ICP备16001874号-3