Raj*_*jat 19 javascript javascript-events
我只是希望得到一个共识,即JS在冒泡和捕获之间更好的事件委派模式.
现在我明白,根据特定的用例,人们可能希望使用捕获阶段而不是冒泡,反之亦然,但我想了解哪种委派模式适用于大多数一般情况以及为什么(对我而言似乎冒泡模式).
换句话说,W3C addEventListener实现背后的原因是支持冒泡模式.[仅当您指定第3个参数及其true时才会启动捕获.但是,你可以忘记第三个参数和冒泡模式被踢了]
我抬头看了看JQuery的绑定功能得到一个回答我的问题,似乎它甚至不支持捕获阶段事件(在我看来,因为IE不支持拍摄模式).
所以看起来冒泡模式是默认选择,但为什么呢?
Mis*_*ter 10
在过去,这是一个平台问题,Internet Explorer有一个冒泡的模型,Netscape更多的是关于捕获(但两者都支持).
W3C型号要求您能够选择所需的型号.
我认为冒泡更受欢迎,因为正如所述,有些平台只支持冒泡...... 而且它有点像"默认"模式.
您选择哪一个主要是您正在做的事情和对您有意义的产品.
在阅读JavaScript:The Definitive Guide,第5版时,我遇到了第422页的示例17-4,它定义了拖动绝对定位元素的函数.在该示例中,在文档元素drag()的onmousedown属性中调用该函数.该函数根据鼠标位置的变化重新定位元素,由添加到根文档元素的处理程序查询捕获的mousemove和mouseup事件.他们在文档中捕获这些事件的原因如下:
重要的是要注意,mousemove和mouseup处理程序被注册为捕获事件处理程序,因为用户可以比文档元素跟随它更快地移动鼠标,并且这些事件中的一些发生在原始目标元素之外.
这表明在捕获事件时更快速响应的优势.
| 归档时间: |
|
| 查看次数: |
13784 次 |
| 最近记录: |