event.preventDefault()与 return false

来源:luqidong 发布时间:2014-02-18 21:19:28 点击数:

当我们想阻止其他事件处理程序从执行后的某个事件被触发,我们可以使用两种技术中的一种。我将在示例使用jQuery,但适用于纯JS还有:

event.preventDefault()

$('a').click(function (e) {
    // custom handling here
    e.preventDefault();
});

return false

$('a').click(function () {
    // custom handling here
    return false;
});

 

上面2种方法有什么差异呢?其中 return false 想对来说更加让人看起来让人理解,简单短小,但是用event.preventDefault()要给方法传递一个e。这两个到底用哪个好呢?

从我的经验,有过使用return false使用event.preventDefault()时,至少有一个明显的优势。假设你是捕捉click事件上的锚点标记,否则这将是一个很大的问题,如果用户要进行导航离开当前页面。如果你的点击处理程序使用返回false来防止浏览器导航,它会打开该解释器将无法达到return语句的可能性,浏览器会继续执行锚点标记的默认行为。

78OA办公系统

本文由免费oa系统78oa原创,转载请注明出处。