我在看http://www.quirksmode.org/js/events_order.html http://www.quirksmode.org/js/events_order.html这部分含糊不清:
在 Microsoft 模型中,您必须设置事件的cancelBubble
财产给true
.
window.event.cancelBubble = true
在 W3C 模型中,您必须调用事件的stopPropagation()
method.
e.stopPropagation()
这会停止冒泡阶段事件的所有传播。
所以我的问题是:
- 当事件侦听器设置为在捕获阶段侦听时,它是否会自动不再继续传播到内部元素?
- 或者如果它继续传播,是否调用
e.stopPropagation()
停止它,或者这只适用于泡沫阶段?
简短回答:顺序是:
- 捕捉(下)
- Target
- 冒泡)。
如果你打电话e.stopPropagation()
在捕获阶段(通过设置addEventListener()
's 第三个参数 to true
),停在1处,所以2和3收不到。
如果你打电话e.stopPropagation()
在气泡阶段(通过设置addEventListener()
's 第三个参数 to false
或者只是不分配它),1 和 2 已经完成,所以它只是阻止事件从您调用的级别冒泡stopPropagation()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)