Saya telah membaca artikel di https://developer.mozilla.org/en/DOM/element.addEventListener tetapi tidak dapat memahami useCapture
atribut. Definisi ada:
Jika benar, useCapture menunjukkan bahwa pengguna ingin memulai penangkapan. Setelah memulai penangkapan, semua peristiwa dengan tipe yang ditentukan akan dikirim ke pendengar terdaftar sebelum dikirim ke EventTarget di bawahnya di pohon DOM. Acara yang menggelegak ke atas melalui pohon tidak akan memicu pendengar yang ditunjuk untuk menggunakan tangkapan.
Dalam kode ini peristiwa induk memicu sebelum anak, jadi saya tidak dapat memahami perilakunya. Objek dokumen memiliki usecapture true dan div anak telah usecapture set false dan dokumen usecapture diikuti. Jadi mengapa properti dokumen lebih disukai daripada anak.
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
. Saya belum menguji semua browser, jadi mereka semua bisa saja menerapkannya dengan cara yang sama. Namun, acara tangkap akan dilakukan sebelum acara yang tidak diambil.