NetizenKane: Dynamische Button-Events mit korrektem Bezug

Beitrag lesen

Leider der gleiche Fehler: http://www.clancodes.de/test2.html

Vermutlich ist das hier das Problem:

Es handelt sich dabei um ein Referenzierungsproblem, das einer Eigenart Javascripts zugrunde liegt, die ich als Designfehler bezeichnen würde.

Obwohl Du in der Funktion addcharthandler die Variable id stets neu instanzierst, zeigen alle Handler-Parameter später auf die letzte Instanz dieser Variable.
Ich vermute mal, dass es damit zusammenhängt, dass dynamische Funtionen erst dann instanziert werden, wenn sie aufgerufen werden. D. h., sie sind bei der Übergabe an addEventListener lediglich Code und noch keine Objekte, wodurch es dann zu dem Referenzierungsproblem kommt.

Abhilfe kannst Du schaffen, indem Du die Zuweisung der EventHandler in eine separate Funktion auslagerst. Nun steht der wert von id in einem anderen Kontext und wird so übergeben, wie man es erwarten würde.

Viel schlauer macht mich das aber auch nicht.