J'ai lu l'article sur https://developer.mozilla.org/en/DOM/element.addEventListener mais je n'arrive pas à comprendre l' useCapture
attribut. Définition il y a:
Si la valeur est true, useCapture indique que l'utilisateur souhaite lancer la capture. Après avoir lancé la capture, tous les événements du type spécifié seront distribués à l'écouteur enregistré avant d'être distribués aux EventTargets situés en dessous dans l'arborescence DOM. Les événements qui remontent dans l'arborescence ne déclencheront pas d'auditeur désigné pour utiliser la capture.
Dans ce code, l'événement parent se déclenche avant l'enfant, donc je ne suis pas en mesure de comprendre son comportement.
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
. Je n'ai pas testé tous les navigateurs, il se peut donc que tous les implémentent de la même manière. Les événements de capture seront cependant effectués avant les événements non capturés.