【发布时间】:2011-11-15 22:21:27
【问题描述】:
我已阅读https://developer.mozilla.org/en/DOM/element.addEventListener 的文章,但无法理解useCapture 属性。定义有:
如果为真,useCapture 表示用户希望启动捕获。启动捕获后,指定类型的所有事件将被分派到注册的侦听器,然后再分派到 DOM 树中它下方的任何 EventTargets。通过树向上冒泡的事件不会触发指定使用捕获的侦听器。
在这段代码中,父事件在子事件之前触发,所以我无法理解它 behavior.Document 对象的 usecapture 为 true,子 div 的 usecapture 设置为 false,并且遵循 document usecapture。那么为什么 document 属性优先于 child。
function load() {
document.addEventListener("click", function() {
alert("parent event");
}, true);
document.getElementById("div1").addEventListener("click", function() {
alert("child event");
}, false);
}
<body onload="load()">
<div id="div1">click me</div>
</body>
【问题讨论】:
标签: javascript dom dom-events