【发布时间】:2020-10-09 08:36:10
【问题描述】:
假设我们有:
<div id="parent">d1
<div id="child-1">child-1</div>
<div id="child-2">child-2</div>
</div>
我在child-2 上有一个事件监听器。
据我了解,事件捕获将沿着节点树向下直到到达事件触发的节点。
事件捕获是否也通过兄弟孩子,检查他们是否是触发事件的目标?
【问题讨论】:
-
@ATD 我看过了,没有找到解决捕获如何对待兄弟姐妹的问题。也许我错过了,或者我想寻找其他东西?
-
文档显示捕获和冒泡在事件触发元素和顶部节点之间上下移动。它还解释说,如果事件触发器元素本身包含节点,则捕获也会向下 到那些节点。它不会上升一级,然后下降到所有子节点。因此,在您的示例中,如果“父” div 是触发器,它将下降到“child-1”和“child-2”,但不会出现“child-1”、“parent”、“孩子 2 英寸。
-
看它像:....grandparent.parent.**trigger**.children.grandchildren....会有一个对象的direct路径到另一个通过触发元素。该元素将自己标识为触发元素,因此无需任何代码来检查。
-
@ATD 所以触发事件的元素保存了捕获路径的信息?如果是这样,那么它是有道理的。
标签: javascript event-handling event-capturing