此处如图所示,显示了绑定(bind)到特定元素的点击事件。
a.interstitial 处理程序是使用 jQuery 附加的。使用 addEventListener() 附加主体处理程序(我认为,该代码被混淆并且难以阅读)。
我想在我的“a.interstitial”处理程序中取消“body”事件处理程序的执行,但我不能,因为出于某种原因,body 处理程序总是先运行。这与我对事件冒泡如何工作的理解相反。不应该在主体处理程序之前运行更具体的(“a.interstitial”)处理程序吗?
最佳答案
正如您提到的,主体是通过 addEventListener 注册的。 如果第三个参数设置为 true,您可以检查 addEventListener 调用吗? 如果是这样,它将在发送到任何 EventTarget 之前发送到注册的监听器
引用https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
在这种情况下,主体函数首先被执行,然后 anchor 的点击 Action 发生。
关于javascript - body点击事件在元素点击事件之前触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57712616/