Deo zbornika Napredni Javaskript
Propagacija događaja naviše (bubbling)
Propagacija događaja naviše (dizanje ili bubbling), je druga faza propagacije događaja kroz stranicu, tokom koje se događaj propagira od ciljanog elementa ka roditeljima.
Ako addEventListener
metodi prosledimo false
, slušač događaja će biti pozvan u fazi dizanja. U tom slučaju, klik na dugme će prvo okinuti povratnu funkciju na samom dugmetu, pa tek onda na dokumentu.
Primer
U narednom primeru imamo slušače događaja na dugmetu, telu dokumenta, dokumentu i prozoru pregledača. Redosled dodavanja slušača nije bitan.
Klikni dugme i vidi kojim se redom povratne funkcije pozivaju:
<button id="dugme">Klikni me!</button>
<script>
window.addEventListener('click', function() {
alert('Klik na prozor')
}, false)
document.addEventListener('click', function() {
alert('Klik na dokument')
}, false)
document.body.addEventListener('click', function() {
alert('Klik na telo dokumenta')
}, false)
document.getElementById('dugme').addEventListener('click', function() {
alert('Klik na dugme')
}, false)
</script>
Ako kliknemo dugme, videćemo četiri poruke za sledeće događaje:
- Klik na dugme
- Klik na telo dokumenta
- Klik na dokument
- Klik na prozor
false
je podrazumevana vrednost trećeg parametra addEventListener
metode, pa je možemo izostaviti.