mark: JS-Events: Fragen zu Ereignisphasen (Event Phases)

Beitrag lesen

Guten Abend,

Beim durchlesen des entsprechenden WIKI Eintrages möchte ich gerne fragen:

Warum gibt es eine Capturing- UND eine Bubbling-Phase?

Mir fällt da konkret kein Anwendungsfall ein, bei dem ich beide benötigen würde. Ich kann mir das nur erklären, dass das irgendwie "historisch gewachsen" ist: dass zuerst die Bubbling-Phase da war und man sich später entschlossen hat Capturing zu verwenden und jetzt gibt's eben wegen Rückwärtskompatibilität beides.

Im Wiki steht weiter:

Wird bei der Registrierung eines Event-Listeners nicht explizit etwas anderes bestimmt, so bezieht sich die Registrierung also grundsätzlich nur auf die Target-Phase und, sofern der Ereignistyp über eine solche verfügt, auf die Bubbling-Phase des Ereignisses.

Ich glaube, das ist nicht richtig.

Ein Event-Listener kann im beschriebenen Fall nur durch Target, ODER (nicht "und") Bubbling ausgelöst werden.

Wenn folgendes zutrifft:

Anschließend wird, zumindest bei den allermeisten Ereignistypen, die Liste welche den Ereignispfad darstellt umgedreht, so dass nunmehr das Zielobjekt an erster Stelle und das Fensterobjekt window an letzter Stelle steht. Danach passiert das Ereignisobjekt die Objekte die den Ereignispfad konstituieren noch einmal, nur diesmal in umgekehrter Reihenfolge. Diesen Vorgang nennt man Bubbling, was sich sinngemäß in etwa als aufsteigen übersetzen lässt.

Wäre dann nicht die Target-Phase einfach nur der erste Schritt der Bubbling-Phase, selbst, wenn es keine Bubbling-Phase (keine weiteren Einträge im Event-Path) gibt?

Das ist zwar -zugegeben- Erbsenzählerei, aber dient mir und vielleicht auch jemand anderem dazu, eine klare Idee im Kopf zu haben.

In diesem Sinne möchte ich mich auch mal bedanken, für das wiki, welches mir schon öfters die Gedanken in die richtige Richtung gelenkt hat.

lg

mark