2017-08-23 10 views
0

HTML要素でラッパー要素を動的に埋め込み、その要素のEventListenerを追加しようとすると、最後の値のみが使用されます。 varは、変数への参照を保持しているためだ動的にEventListenerが正常に動作しない

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>

答えて

0

。代わりにletを使用してください。

+0

が完璧です。それは動作します! –

関連する問題