Подтвердить что ты не робот

Javascript Image привязка события загрузки

Итак, у меня есть эта часть кода, которая проходит через массив и загружает изображения и уведомляет о загрузке изображений.

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);

В чем проблема? И есть ли способ избежать использования закрытия в этом случае?

4b9b3361

Ответ 1

Одна часть проблемы: событие не называется onload, но load.

imageObj.addEventListener('load', function() { /* ... */ }, false);

Кроме этого, поскольку i изменяется вне функции прослушивания событий, вам нужно закрыть.