INF.03Frontend & JS
Propagacja zdarzeń (Event Bubbling i Capturing)
Mechanizm przepływu zdarzeń w hierarchii DOM: od korzenia w dół do elementu docelowego (Capturing), a następnie w górę (Bubbling).
Fazy propagacji zdarzenia:
- Faza przechwytywania (Capturing / Trickling) – zdarzenie schodzi z obiektu
window, przezdocument,body, aż do klikniętego elementu. - Faza celu (Target phase) – zdarzenie dociera do klikniętego węzła.
- Faza bąbelkowania (Bubbling phase) – zdarzenie wędruje w górę po drzewie DOM do rodziców aż do
window.
JAVASCRIPT
const przycisk = document.querySelector('#btn');
const rodzic = document.querySelector('#kontener');
przycisk.addEventListener('click', (e) => {
console.log('Kliknięto przycisk!');
// Zatrzymanie dalszego bąbelkowania w górę:
e.stopPropagation();
});
rodzic.addEventListener('click', () => {
console.log('Kliknięto kontener rodzica!');
});e.target vs e.currentTarget:
e.target– element, na którym bezpośrednio nastąpiło zdarzenie (np. kliknięty przycisk wewnątrz formularza).e.currentTarget– element, do którego aktualnie przypięty jest dany listener zdarzenia.
Najczęstsze pułapki na egzaminie INF.03:
- Domyślnie metoda
addEventListenernasłuchuje w fazie bąbelkowania (trzeci parametr tofalse).
Chcesz sprawdzić to pojęcie w praktyce?
Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Propagacja zdarzeń (Event Bubbling i Capturing) lub rozpocznij trening.