Antwort an „Gunnar Bittersmann“ verfassen

@@Nico R.

Und worauf registriere ich dann den EventListener? Ich habe hier gelernt, es ist bessere Praxis, an einem übergeordneten Element zu lauschen, statt auf jedem einzelnen (button)-Element einen Handler zu registrieren.

Ja. Das nennt sich event delegation.

Den Eventhandler musst du nicht ganz oben document.documentElement registrieren; das Komponentenelement ist eine gute Stelle dafür.

Von der Komponente könnte es mehrere Instanzen auf einer Seite geben, deshalb gehe ich diese ich in meinem Beispiel in einer Schleife durch. Wenn die Komponente garantiert einzig ist, brauchst du die Schleife nicht.

Die Konsolenausgaben zeigen an, welches Element jeweils geclickt wurde. Da siehst du, dass es nicht das button-Element ist, wenn du auf ‚Action!‘ clickst. Deshalb muss man sich von event.target aus im DOM mit closest() bis zum button hochhangeln.

Wenn es keinen solchen gibt bis man ganz oben angekommen ist, ist die Bedingung nicht erfüllt und die Aktion wird nicht ausgefüht. Den else-Zweig wirst du nicht brauchen.

Jolan tru

--
Wenn der Faschismus wiederkehrt, wird er nicht sagen „Hallo, ich bin der Faschismus.“ Er wird sagen: „Ich suche in diesem Deutschen Bundestag keine anderen Mehrheiten als die in der demokratischen Mitte. Wenn es heute eine solche Mehrheit gegeben hat, bedauere ich das.“ (Friedrich Merz)
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen