dom事件是否按照定义的顺序触发?

时间:2017-11-29 17:55:18

标签: javascript dom

例如,给定以下代码,当我第一次单击父级然后单击子元素时,事件似乎始终按此顺序触发MOUSEDOWNFOCUSOUTFOCUSIN

HTML

<div
 id="parent"
 tabindex="0"
 style="background-color: blue; height: 100px; width: 100px;">
 <div
   id="child"
   tabindex="0"
   style="background-color: red; height: 50px; width: 50px;">
 </div>
</div>

JS

var node = document.getElementById('parent');

node.addEventListener('mousedown', function () {
 console.log("MOUSEDOWN");
});

node.addEventListener('focusin', function () {
 console.log("FOCUSIN");
});

node.addEventListener('focusout', function () {
 console.log("FOCUSOUT");
});

IE11似乎也是如此。这只是一个实现巧合,还是会触发每个事件类型的官方定义的事件监听器?我可以依靠mousedown总是在focusinfocusout之前来吗?

0 个答案:

没有答案