javascript - body点击事件在元素点击事件之前触发

标签 javascript jquery html jquery-events

此处如图所示,显示了绑定(bind)到特定元素的点击事件。

enter image description here

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/

相关文章:

javascript - 选择中的搜索框

javascript - Angular 应用程序在缩小时无法工作(可能是 ng 路线或其他原因)

javascript - Visual Studio.NET 2010 javascript 格式化

javascript - Onclick 调用函数不适用于我的一个 Div

php - 从 Javascript OnClick 调用 PHP 页面时 AJAX 返回错误

html - 具有 3 种不同颜色、1 厘米边距的网页,未获得预期结果

javascript - 如何在Vue.js中设置自定义中间件

jquery - 我如何拒绝在特殊项目上触发的事件

javascript - 将鼠标悬停在一个元素上会使它产生动画,而不仅仅是改变它的 CSS 属性

jQuery 砌体 : Append Images through ajax