Я прочитав статтю за адресою https://developer.mozilla.org/en/DOM/element.addEventListener, але не зміг зрозуміти useCapture
атрибут. Визначення є:
Якщо це правда, UseCapture вказує на те, що користувач бажає ініціювати захоплення. Після ініціювання захоплення всі події зазначеного типу будуть відправлені зареєстрованому слухачеві, перш ніж надсилатись до будь-яких подій EventTargets під ним у дереві DOM. Події, що киплять вгору через дерево, не спричинять слухача, призначеного використовувати захоплення.
У цьому коді батьківський подія спрацьовує перед дитиною, тому я не в змозі зрозуміти його поведінку. Об'єкт "Документ" має істинний usecapture, і дочірній div має набір usecapture false, а документ usecapture дотримується. Тому чому властивість документа віддається перевазі над дочірнім.
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>
no specification is made as to the order in which they will receive the event with regards to the other EventListeners on the EventTarget
. Я не перевірив усі браузери, тому вони можуть просто так реалізувати його. Однак захоплення подій буде зроблено перед подіями, які не фіксують.