gpt4 book ai didi

javascript - 在 javascript 中的 addEventListener() 方法的上下文中冒泡和捕获

转载 作者:行者123 更新时间:2023-11-29 19:35:37 24 4
gpt4 key购买 nike

addEventListner(event,function,useCapture)方法中,useCapture参数是冒泡和捕获两种类型。

我的问题是在 js addEventListener() 方法的上下文中这个 useCapture 参数的功能/操作是什么?

最佳答案

这张图来自the DOM events specification可能有助于阐明一些问题:

DOM events event flow diagram

正如您从中看到的,事件分为三个阶段: 捕获 阶段,它起源于最顶层的 View ,并向下工作到事件所针对的后代元素at,然后是发生在目标元素上的 target 阶段,最后是 bubbling 阶段,它返回层次结构回到 Root View 。

绝大多数时候,您只需要或只想使用冒泡阶段(IE 直到 IE9 才支持捕获阶段)。这是否必然是因为它更有用是一个问题;我们都已经习惯了它,它一直是持续创新的焦点(取消冒泡等),因为(再次)多年来,如果你想支持 IE,它是镇上唯一的游戏。它确实很有意义,但是捕获也是如此。


存在这种情况的原因主要是历史的怪癖。当然,很早就没有这方面的规范,当时占主导地位的浏览器(Netscape Navigator 和 Microsoft Internet Explorer)都弥补了它们对事件所做的事情。 Netscape 采用“从根开始,一直到最终目标”(捕获)方法,Microsoft 采用“从目标开始,一直到根”(冒泡)方法。因此,当需要对其进行标准化时,DOM 委员会决定采用……两者。

关于javascript - 在 javascript 中的 addEventListener() 方法的上下文中冒泡和捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25238449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com