【发布时间】:2012-04-24 16:39:33
【问题描述】:
所以我有这段代码循环遍历数组并加载图像并在加载图像时通知。
for (var i = 0; i < arr.length; i++) {
var imageObj = new Image();
imageObj.src = url[i];
imageObj.onload= (function(i){
return function(){
console.log(i, 'loaded');
}
})(i);
}
它工作正常。但是,如果我尝试这样做,它将无法正常工作
imageObj.addEventListener('onload', function(
console.log(i, 'loaded');
}, false);
有什么问题?在这种情况下,我有什么办法可以避免使用闭包?
【问题讨论】:
-
不是唯一的问题,但您的第二个损坏的示例显然是损坏的 JS,在第一行末尾缺少
i) {。 -
为了保险起见,不应该先分配事件再分配src吗?
标签: javascript html javascript-events