Henryk Plötz: addEventListener(xxx, funktion("wert"), xxx) ?????

Beitrag lesen

Moin,

An das überblenden hab ich noch garnicht gedacht und was das true oder false bedeutetet stand in der Referenz wo ich das weg hab auch nicht.

Da das leider auch falsch in Selfhtml steht, hier nochmal die richtige Erklärung dazu (Teilweise aus der W3C-Recommendation, teilweise aus einem anderen Tutorial dazu):
Es gibt grob gesagt zwei Typen um Events zu verteilen:
Bubbling: Das Ereignis landet zuerst bei dem Objekt an das es gerichtet war (also das was im Element-Baum ganz unten hängt) und steigt dann langsam an alle Elternelemente hoch (wie eine Luftblase unter Wasser, daher der Name). Das ist die Methode die der Internet Explorer benutzt (benutzte?).
Capture: Das Ereignis landet zuerst bei dem obersten Objekt (das müsste window sein) und hangelt sich dann stückweise bis zum Ziel nach unten herab. Dabei können Event-Handler definiert werden, die das Ereignis zwischendurch abfangen (capturen, daher der Name). Das ist die Methode die NN4 benutzt.

Um das ganze möglichst universell zu machen, sieht das DOM beide Methoden vor: Zuerst geht das Event-Objekt in die capture-Phase und steigt von oben im Baum bis zum Zielelement herab. Dann kommt es dort an und fängt anschließend mit der bubble-Phase an, wobei es es vom Zielelement wieder bis zur Wurzel aufsteigt.

Mit dem 3. Parameter von addEventListener kannst du nun festlegen, ob du möchtest, dass dein EventListener capturing macht - d.h. er kriegt das Event vor dem Zielelement zu fassen (wenn er selbst an das Zielelement gebunden ist, feuert er übrigens nicht) - oder aber dein Listener das Event erst beim bubbling bekommt - also nach allen capturing-Listenern und dem Zielelement selbst (Vorsicht: nicht alle Events bubblen).

Jeder der Event-Listener kann übrigens einige Eigenschaften des Event-Objektes verändern. Die Listener die nach ihm aufgerufen werden, kriegen dann das veränderte Event vorgesetzt (alle Listener die an das selbe Element gebunden sind, bekommen noch das unmodifizierte Objekt).

--
Henryk Plötz
Grüße aus Berlin