相关疑难解决方法(0)

无法理解addEventListener中的useCapture参数

我在https://developer.mozilla.org/en/DOM/element.addEventListener上阅读了文章,但无法理解useCapture属性.定义有:

如果为true,则useCapture指示用户希望启动捕获.启动捕获后,指定类型的所有事件将被分派到已注册的侦听器,然后再分派到DOM树中它下面的任何EventTargets.向上冒泡树的事件不会触发指定使用捕获的侦听器.

在这段代码中,父事件在子事件之前触发,因此我无法理解其行为.文档对象具有usecapture为true且子div具有usecapture设置为false并且文档usecapture被跟随.因此,为什么文档属性优先于子元素.

function load() {
  document.addEventListener("click", function() {
    alert("parent event");
  }, true);

  document.getElementById("div1").addEventListener("click", function() {
    alert("child event");
  }, false);
}
Run Code Online (Sandbox Code Playgroud)
<body onload="load()">
  <div id="div1">click me</div>
</body>
Run Code Online (Sandbox Code Playgroud)

javascript dom dom-events

279
推荐指数
8
解决办法
8万
查看次数

标签 统计

dom ×1

dom-events ×1

javascript ×1