为什么元素的* set_capture *受其父级的* set_capture *的影响?

时间:2011-06-17 09:26:48

标签: javascript html dhtml

为什么这个代码:

HTML:

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

的onload:

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'开始,不应该吗?

我理解如果我们将外部的* set_capture *设置为false,那么结果将是inner后跟outer,但我不知道外部的* set_capture *值应该如何这里对结果有任何影响。

1 个答案:

答案 0 :(得分:0)

不应该 - use_capture参数集,其中事件处理的一部分是此事件被触发

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

  2. 部分冒泡 它启动了最深的元素并转到窗口

  3. (在你的情况下,外部首先是因为它在第一部分被触发)

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