Okamžité zastavení propagace v JavaScriptu
Pro úplné zastavení zpracování
moderní prohlížeče podporují metodu stopImmediatePropagation.
Ta nejenže zabrání propagaci, ale také
zastaví zpracování událostí na aktuálním
prvku. Pojďme ji aplikovat:
elem1.addEventListener('click', function() {
console.log('zelený');
});
elem2.addEventListener('click', function(event) {
console.log('modrý - první obslužná rutina');
event.stopImmediatePropagation(); // zastavíme propagaci
});
elem2.addEventListener('click', function() {
console.log('modrý - druhá obslužná rutina'); // již neproběhne
});
elem3.addEventListener('click', function() {
console.log('červený');
});
Můžete vyzkoušet: