例如,给定以下代码,当我第一次单击父级然后单击子元素时,事件似乎始终按此顺序触发MOUSEDOWN
,FOCUSOUT
,FOCUSIN
:
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
总是在focusin
或focusout
之前来吗?