Przeczytałem artykuł na https://developer.mozilla.org/en/DOM/element.addEventListener, ale nie mogę zrozumieć useCaptureatrybutu. Definicja to:
Jeśli true, useCapture wskazuje, że użytkownik chce zainicjować przechwytywanie. Po zainicjowaniu przechwytywania wszystkie zdarzenia określonego typu zostaną wysłane do zarejestrowanego odbiornika, zanim zostaną wysłane do dowolnych obiektów EventTargets pod nim w drzewie DOM. Wydarzenia, które bulgoczą w górę przez drzewo, nie wyzwalają słuchacza wyznaczonego do użycia przechwytywania.
W tym kodzie zdarzenie nadrzędne wyzwala się przed dzieckiem, więc nie jestem w stanie zrozumieć jego zachowania. Obiekt dokumentu ma usecapture true, a div div ma usecapture ustawiony na false, a dokument usecapture jest przestrzegany.
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. Nie przetestowałem wszystkich przeglądarek, więc mogą się zdarzyć, że zaimplementują to w ten sam sposób. Zdarzenia przechwytywania będą jednak wykonywane przed zdarzeniami nie przechwytywania.