请您快速查看示例代码
我不知道它是否清楚,但它应该做的是显示创建事件时i
的内容。相反,我认为它正在做的是在事件被触发时显示i
的值。
我如何解决我的问题?
答案 0 :(得分:6)
将循环的主体包裹在一个函数中,以创建一个闭包:
for(var i = 0; i < arr.length; i++){
(function(i){ //i inside this function is a local var; not affected by i++
arr[i].onclick = function(){
alert(i);
return false;
};
})(i); //Invoke the function, pass variable i
}