JavaScript 冒泡和捕获是两种事件行为,使用 event.stopPropagation() 能起到阻止捕获和冒泡阶段中当前事件的进一步传播,使用 event.preventDefault() 可以取消默认事件

防止冒泡和捕获

w3c 的方法是 e.stopPropagation(),IE则是使用 e.cancelBubble = true

取消默认事件

w3c 的方法是 e.preventDefault(),IE则是使用 e.returnValue = false

preventDefault 及 stopPropagation

preventDefault 阻止元素的默认特性

stopPropagation 禁止冒泡

event.stopPropagation 阻止捕获和冒泡阶段

event.preventDefault 取消默认事件

http://caibaojian.com/javascript-stoppropagation-preventdefault.html

https://segmentfault.com/a/1190000008227026

Unable to preventDefault inside passive event listener invocation

addEventListener 不为人知的第三个参数 useCapture

https://juejin.cn/post/6844903593024159752

[筆記][JavaScript]所謂的「停止事件」到底是怎麼一回事?

https://ithelp.ithome.com.tw/articles/10198999

https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener#%E4%BD%BF%E7%94%A8_passive_%E6%94%B9%E5%96%84%E7%9A%84%E6%BB%9A%E5%B1%8F%E6%80%A7%E8%83%BD

在 react 如何解决

react 的事件是自己写的

在 组件中如何解决

{passive: true} 有什么用

如何查看web元素绑定的监听事件

https://cloud.tencent.com/developer/article/1705416