Vad är Event Bubbling?
- Händelser bubblar uppåt i DOM-trädet, från målelementet till rotelement.
- Händelsehanterare som lyssnar på föräldraelement fångar upp händelsen.
Vad är Event Capturing?
- Händelser fångas upp när de "fångas" i DOM-trädet, vilket börjar vid rotelement.
- Händelsehanterare som lyssnar på föräldraelement fångar upp händelser innan de når målelementet.
Praktiska steg:
- Lägg till en händelselyssnare på målelementet.
- Lägg till en händelselyssnare på föräldraelementet (för bubblande) eller dokumentelementet (för fångning).
- Använd
stopPropagation()
för att stoppa händelsepropageringen.
Event Propagation i Javascript:
// Bubblande
document.getElementById("target").addEventListener("click", function() {
console.log("Målelement klickat");
});
// Fångning
document.addEventListener("click", function() {
console.log("Dokument klickat");
}, true); // Sätt 'true' för fångning
Stoppa händelsepropagering:
document.getElementById("target").addEventListener("click", function(e) {
console.log("Målelement klickat");
e.stopPropagation();
});