He leído el artículo en https://developer.mozilla.org/en/DOM/element.addEventListener pero no puedo entender el useCapture
atributo. Definición hay:
Si es verdadero, useCapture indica que el usuario desea iniciar la captura. Después de iniciar la captura, todos los eventos del tipo especificado serán enviados al oyente registrado antes de ser enviados a cualquier EventTargets debajo de él en el árbol DOM. Los eventos que están burbujeando hacia arriba a través del árbol no activarán un oyente designado para usar captura.
En este código, el evento padre se dispara antes que el niño, por lo que no puedo entender su comportamiento.
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
. No he probado todos los navegadores, por lo que es posible que todos lo implementen de la misma manera. Sin embargo, los eventos de captura se realizarán antes de los eventos sin captura.