Event Propagation beschreibt den Prozess, wie sich Events (wie Klicks oder Tastatureingaben) durch den DOM-Baum einer Webseite ausbreiten - zunächst in der Capturing-Phase von oben nach unten, dann in der Bubbling-Phase von unten nach oben durch die verschachtelten HTML-Elemente.Es passiert folgendes, wenn beispielweise ein Click Event erstellt wird:
1
`document`
Das Click Event wird an das document angehängt.
document
2
Capturing Phase
Das Event durchläuft jedes Parent-Element des Target-Elements (Element mit dem Event-Listener).
Capturing Phase
3
Target Phase
In der Target Phase werden die Events beim Target verarbeitet. Das machen wir mit Event-Listeners.
Target Phase
4
Bubbling Phase
Das Event durchläuft nun wieder jedes Parent-Element bis zum document. Wenn das passiert ist es für JavaScript so, als ob das Event auch in einem der Parent-Elemente passiert wäre.Das heisst wir können an unsere Parent-Elemente ebenfalls Event-Listener anhängen. Diese werden auch dann aufgerufen, wenn ein Child-Element das Target-Element war.
Bubbling Phase
Mit einem kleinen Trick können wir uns das auch in der Capturing Phase zu nutze machen.
Wenn wir nun auf ein Element mit der Klasse .nav__link klicken, werden sowohl bei diesem Element, als auch .nav__links und .nav die Hintergrundfarben verändert.