stopPropagation, preventDefault 和 return false 的区别

e.stopPropagation()

阻止 js 事件冒泡。比如对于点击事件,点击当前节点之后,不会再触发父节点的点击事件。

当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发,这一过程被称为事件冒泡。

e.preventDefault()

阻止浏览器的默认行为。

浏览器的默认行为:对于一些特定的事件,浏览器有它默认的行为。
例如:

  1. 点击链接会进行跳转
  2. 点击鼠标右键会呼出浏览器右键菜单
  3. 填写表单时按回车会自动提交到服务器等

return false

退出执行,return false 之后的所有触发事件和动作都不会被执行。有时候 return false 可以用来替代 stopPropagation()preventDefault()。例如可以通过 return false 来阻止 a 标签的默认跳转事件,当然也可以用 preventDefault() 来代替。

<a href="/" onclick="return false">I get outlined on click, but don't go anywhere</a>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容