当前位置:网站首页>js阻止事件冒泡方案

js阻止事件冒泡方案

2022-08-10 02:47:00 44w0

先来看一下Dom事件对象:

  1. preventDefault() 取消事件默认行为
  2. stopPropagation() 阻止事件冒泡传播。W3C标准,不支持IE浏览器,event.stopPropagation()调用
  3. cancelBubble 取消事件冒泡。支持IE浏览器,event.cancelBubble = true调用

再来看解决方法:

  1. 在任意一个阶段的事件处理函数中,都可以调用event.stopPropagation()或event.cancelBubble = true来终端事件流,后续的事件就不会被调用了。
  2. 在触发子元素的事件中,在事件处理完成后, retrurn false,即可阻止父元素事件触发。不过这个不支持原生js,jquery是支持的。
    return false 做了三件事:
  • 调用了事件的stopPropagation()阻止事件传播。
  • 调用了preventDefault()禁止了默认行为。
  • 立即结束当前函数并返回。
原网站

版权声明
本文为[44w0]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_30136729/article/details/126197352