Javascript Image Object - обрабатывать событие загрузки - PullRequest
5 голосов
/ 28 сентября 2011

Я пытаюсь предварительно загрузить изображение при событии клика:

// new image object
var imgObject = new Image();

// assign the path to the image to the src property
imgObject.src = document.URL + 'image/image.jpg';

// check if image has loaded
if (imgObject.complete) {

Но полный вызов никогда не возвращает true при первом клике - есть идеи, что мне здесь не хватает?

1 Ответ

10 голосов
/ 28 сентября 2011

.complete - это свойство объекта изображения, а не событие, к которому вы можете прикрепить.Используйте событие onload:

var image = new Image();
image.onload = function() {
    alert('image loaded');
};
image.src = document.URL + 'image/image.jpg';

Примечание: Обязательно присоедините к обработчику загрузки перед установкой атрибута источника.

Примечание. Объяснение : Кэширование изображений.Если изображение кэшируется, событие onload срабатывает немедленно (иногда перед установкой обработчика)

...