12
所以我有這段代碼循環訪問數組並加載圖像,並在圖像加載時通知。Javascript圖像onload事件綁定
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){'在第一行的末尾。 – Lambart 2014-10-10 22:57:48
只是爲了安全起見,不應該先分配事件然後分配src? – bashan 2015-05-04 11:28:36