2017-08-23 25 views
0

Wenn ich versuche, ein Wrapper-Element dynamisch mit HTML-Elementen zu füllen und dann einen EventListener für dieses Element hinzuzufügen, wird nur der letzte Wert verwendet.dynamisch hinzufügen EventListener funktioniert nicht erwartungsgemäß

window.onload=function(){ 
 
\t sW=""; 
 
\t for(var i = 0; i < 5; i++) { 
 
\t \t var e = document.createElement('div'); 
 
\t \t e.innerHTML = "test div number "+i; 
 
\t \t e.addEventListener('click', function() {alert("t:"+i);}); 
 
\t \t document.getElementById('wrap').appendChild(e); 
 
\t \t } \t 
 
\t }
<html> 
 
<body> 
 
<div id="wrap"></div> 
 
</body> 
 
</html>

Antwort

0

Das ist, weil var auf die Variable, die den Verweis hält. Verwenden Sie stattdessen let.

+0

perfekt. Das funktioniert!! –

Verwandte Themen