我尝试添加到图像事件侦听器的数组捕获加载事件,它的作品。但有时我传给递减函数参数是为所有请求如何正确添加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