Orlok: Event Handling und Event Delegation

Beitrag lesen

Hallo

Wobei zu beachten ist, dass keine identischen Event Listener für ein Element existieren dürfen, sprich, wenn man für das gleiche Element mehr als einen Event Listener mit den selben Argumenten registriert, dann wird der bestehende Listeneintrag durch die nachfolgenden überschrieben. Aber das nur nebenbei.

Diese Nebenbemerkung hättest du dir verkneifen können. ;-) Da irrst du nämlich, glaub ich.

Von element.onclick habe ich nichts geschrieben, da ich hoffte, durch konsequentes Ignorieren aller anderen Methoden die Leser dazu zu bringen, Events grundsätzlich mit der addEventListener-Methode zu verarbeiten. ;-)

Ich zitiere mal:

„The addEventListener(type, callback, capture) method must run these steps:

  • If callback is null, terminate these steps.

  • Append an event listener to the associated list of event listeners with type set to type, callback set to callback, and capture set to capture, unless there already is an event listener in that list with the same type, callback, and capture.“

Wenn du eine anonyme Funktion als Callback-Argument übergibst, wird in Ermangelung eines Bezeichners zur Differenzierung vermutlich der Function-Body verglichen und…

console.log(1) !== console.log(2)

…weshalb hier nicht die selben Argumente übergeben wurden. ;-)

Geirrt habe ich aber trotzdem, da der erste Eintrag nicht überschrieben wird, sondern der zweite nicht hinzugefügt wird!

Gruß,

Orlok