我嘗試添加到圖像事件偵聽器的數組捕獲加載事件,它的作品。但有時我傳給遞減函數參數是爲所有請求如何正確添加addeventlistener?
var imgNumb = vectors.length;
function decrement(i, type){
imgNumb--;
console.log('Processed '+ type+' nr: ' + i + '. Left: '+ imgNumb);
}
for(var i in vectors)
{
if(jQuery('#canvas-'+i).length != 0){
var tempCont = document.getElementById('canvas-'+i);
tempImage[i] = new Image();
alert(i);
tempImage[i].addEventListener('load', function(){
decrement(i, 'canvas');
}, false);
type[i] = 'canvas';
tempImage[i].src = tempCont.toDataURL();
}
}
例如我得到相同的:
Processed canvas nr: 1. Left: 2
Processed canvas nr: 2. Left: 1
Processed canvas nr: 2. Left: 0
但警報(如果它不是內部處理程序)總是返回正確的密鑰數。
這是一個典型的封閉問題 – wong2 2011-05-12 14:06:32