e.preventDefault(); 有啥区别?并返回假? [复制]

Posted

技术标签:

【中文标题】e.preventDefault(); 有啥区别?并返回假? [复制]【英文标题】:What's the difference between e.preventDefault(); and return false? [duplicate]e.preventDefault(); 有什么区别?并返回假? [复制] 【发布时间】:2011-01-02 07:55:58 【问题描述】:
$("a.avatar").click(function(e)
      e.preventDefault();
      $("#thumbnails").fadeIn();
    );

$("a.avatar").click(function(e)
      $("#thumbnails").fadeIn();
          return false;
    );

两者都可以为我实现相同的目标。

【问题讨论】:

【参考方案1】:

从 jQuery 事件处理程序返回 false 是 equivalent 以调用 e.preventDefaulte.stopPropagation

所以区别在于preventDefault 只会阻止默认事件动作的发生,即链接点击时的页面重定向、表单提交等,而return false 也会阻止event flow。

【讨论】:

你能举一个不希望停止事件流的例子吗? css-tricks.com/return-false-and-prevent-default查看演示。

以上是关于e.preventDefault(); 有啥区别?并返回假? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

区别 - “e.preventDefault();”和“返回错误;” [复制]

e.preventDefault()和e.stopPropagation()以及return false的作用和区别

jQuery中return false,e.preventDefault(),e.stopPropagation()的区别

jQuery中return false,e.preventDefault(),e.stopPropagation()的区别

jQuery js 中return false,e.preventDefault(),e.stopPropagation()的区别(事件冒泡)

阻止事件冒泡以及stopPropagation(),preventDefault()和return false;的区别