javascript - 事件捕获与事件冒泡

标签 javascript dom-events

我只是想就 JS 中的事件委托(delegate)模式(冒泡和捕获)达成共识。

现在我明白,根据特定的用例,人们可能希望使用捕获阶段而不是冒泡,反之亦然,但我想了解大多数一般情况下首选哪种委托(delegate)模式以及为什么(对我来说似乎是冒泡模式) )。

或者换句话说,W3C 背后是否有原因 addEventListener实现有利于冒泡模式。 [仅当您指定第三个参数且其值为 true 时才会启动捕获。但是,您可能会忘记第三个参数和冒泡模式已启动]

我查找了 JQuery 的绑定(bind)函数来得到我的问题的答案,它似乎甚至不支持捕获阶段的事件(在我看来,因为 IE 不支持捕获模式)。

看起来冒泡模式是默认选择,但为什么呢?

最佳答案

过去这是一个平台问题,Internet Explorer 有冒泡模型,而 Netscape 更多的是捕获(但支持两者)。

W3C 模型要求您能够选择您想要的模型。

我认为冒泡更受欢迎,因为如上所述,有些平台只支持冒泡......它作为“默认”模式是有意义的。

您选择哪一个很大程度上取决于您正在做的事情以及对您来说有意义的事情。

关于javascript - 事件捕获与事件冒泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2661199/

相关文章:

javascript - 大图像在 Chrome 中缓慢绘制,从上到下逐渐绘制

javascript - 替换 Electron 中的 'Prompt'

javascript - JQuery 在 JSFiddle 上工作,但在我的网站上不工作。

javascript - 如何在Framework7中使用JS?

javascript - 在 ExtJS/Javascript 中处理事件的更好方法

javascript - 在 React.js 中更改父级的状态

javascript - onClick 更改列表样式

javascript - 如何在 node.js 中包含默认模型作为引用名称?

Javascript:在没有jquery的情况下按数据属性按字母顺序对li项目进行排序

javascript - 简单的 JavaScript 事件 : alert using inline and traditional methods