为什么元素的*set_capture*会受到其父元素的*set_capture*的影响

why is the *set_capture* of an element affected by the *set_capture* of its parent?

本文关键字:set capture 元素 影响 为什么      更新时间:2023-09-26

为什么这个代码:

html:

<div id="outer" >
    Outer Div
    <div id="inner" >
        Inner Div
    </div>
</div>

加载:

document.getElementById("outer").addEventListener("mousedown", function() {
    alert('outer');
}, true);
document.getElementById("inner").addEventListener("mousedown", function() {
    alert('inner');
}, false);

http://jsfiddle.net/fGZ3U/

给我们一个警告outer,然后是一个提醒inner

在inner的*use_capture*参数中,它被设置为false,这意味着事件应该从"inner"开始,不是吗?

我知道,如果我们将outer的*set_capture*设置为false,那么结果将是inner,然后是outer,但我看不出outer的*set_capture*值会对这里的结果产生什么影响。

不应该-use_capture参数集事件处理的哪一部分是该事件触发的

  1. 部分是捕获(use_capture=true)它从窗口开始到树中最深的元素

  2. 零件冒泡它从最深的元素开始,进入窗口

(在您的情况下,外部是第一个,因为它是在第一部分触发的)

http://www.quirksmode.org/js/events_order.html