当我尝试使用HTML元素动态填充包装元素,然后为该元素添加EventListener时,它只使用最后一个值。
window.onload=function(){
sW="";
for(var i = 0; i < 5; i++) {
var e = document.createElement('div');
e.innerHTML = "test div number "+i;
e.addEventListener('click', function() {alert("t:"+i);});
document.getElementById('wrap').appendChild(e);
}
}
&#13;
<html>
<body>
<div id="wrap"></div>
</body>
</html>
&#13;
答案 0 :(得分:0)
那是因为var
保留了对变量的引用。请改用let
。