Hello @Gunnar,
Wie weit kann ich die Event Delegation treiben und trotzdem noch den Auslöser sauber erkennen?
Wie immer: mit
Event.target
Angenommen der Fall, wir haben wir es mit einer Liste von Radio-Groups zu tun, die jeweils z. B. 5 Auswahl-Alternativen bieten (sehr gut - gut - unentschieden -schlecht - ganz schlecht):
Wie müsste man nun z. B. im umschließenden Form-Element die Events abfangen?Wenn ein Radiobutton der Auslöser war, bekommst du mit
Event.target.name
die Gruppe dieses Radio-Buttons; mitEvent.target.value
dessen Wert.In diesem Beispiel, wo auf
change
reagiert wird, was nur von den Radiobutton ausgelöst worden sein kann, mag das ohne weitere Abfrage genügen. Ansonsten inif (Event.target.nodeName === "INPUT")
kapseln.
Schonmal vielen Dank.
Verstehe ich das richtig so, dass der Event schlussendlich sowieso immer im Window-Objekt landet? (Ist das so richtig benannt?).
Was spräche also dagegen, die Eventlistener gleich dort zu montieren? Dauert das sooo viel länger, bis der Event z. B. vom Form-Element bis zur Wurzel durchgereicht wurde? Oder könnte er unterwegs verloren gehen?
Wenn ohnehin alle relevanten Elemente des Dokumentes eine ID bekommen, könnte man dort doch zentral auswerten, oder?
Liebe Grüße
Tom S.
Es gibt nichts Gutes, außer man tut es
Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.