Warum registriert sich der Ereignis-Listener nur für das letzte in for loop erstellte Element? [Duplikat]

8

Ich erstelle Kontrollkästchen mit JavaScript, füge den onchange Listener hinzu und füge sie zu einem div mit einer Schleife hinzu. Nur das letzte Kontrollkästchen hat jedoch den Ereignis-Listener registriert.

Warum passiert das?

%Vor% %Vor%
    
Chin 06.06.2015, 14:39
quelle

1 Antwort

8

Das Anhängen an div mit der Element.innerHTML -Eigenschaft entfernt die vorhandenen Event-Handler, da dies wirklich geschieht ...

%Vor%

Damit wird der HTML-Code komplett neu geschrieben und alle Event-Handler gehen verloren.

Verwenden Sie stattdessen Document.createElement() und Document.createTextNode() .

%Vor% %Vor%
    
Tiny Giant 06.06.2015, 14:54
quelle