动态添加EventListener并不按预期工作

时间:2017-08-23 11:34:22

标签: javascript html addeventlistener

当我尝试使用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;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

那是因为var保留了对变量的引用。请改用let