그래서이 코드 조각을 배열을 통해 반복하고 이미지를로드하고 이미지가로드 될 때이를 알립니다.자바 스크립트 이미지 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
그냥 안전한쪽으로 가야합니다. 먼저 이벤트를 할당 한 다음 src를 할당해야합니까? – bashan