我读过https://developer.mozilla.org/en/DOM/element.addEventListener篇文章,但无法理解useCapture
的属性.定义如下:
如果为true,则useCapture表示用户希望启动捕获.在启动捕获之后,指定类型的所有事件将被调度到注册的侦听器,然后再被调度到DOM树中其下的任何EventTargets.在树中向上冒泡的事件不会触发指定使用捕获的侦听器.
在这段代码中,父事件先于子事件触发,所以我无法理解它的 行为.Document对象具有usecapture true,而Child div将usecapture设置为false,文档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>