我的代码看起来像这样:重新定义一个局部变量在javascript关闭
for(var i=0; i<10; i++) {
var someClickableObject = new Object();
someClickableObject.index = i;
eventListenerFunction(someClickableObject, 'click', function() {
alert(someClickableObject.index);
});
}
所以我创建了一堆可点击的对象,给每个等于循环索引的属性,上设置点击事件提醒其索引属性的对象。
我希望每个对象都能提醒创建它的索引i。相反全部对象警报9.我认为这是因为事件侦听器在每次迭代中重新定义的对象上形成一个闭包。
关于如何解决这个问题的任何想法?
你的好。谢谢。 – opl 2011-01-19 16:11:26