Вопрос по load, callback, jquery, image – обратный вызов загрузки изображения jQuery

6

Динамическое добавление изображения на страницу после загрузки, затем взаимодействие с пользователем, и у меня возникают проблемы при запуске функции после того, как это изображение полностью загрузилось. Я понял, что с помощью jQuery.load() метод будет хорошо .. но по моей консоли и кучу документирования.log бизнес, который он никогда не выполнял. Смотрите ниже .. спасибо!

$('body')
    .append('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />')
    .load(function(){
        console.log('ad load complete');
        $('#submit').click();
    });

ОБНОВИТЬ:

Чтобы уточнить, это после обоихdocument а такжеwindow нагрузки.

Ваш Ответ

2   ответа
0

Функция append возвращает содержащий элемент, а не тот, который был добавлен, поэтому вы привязываете свою функцию к загрузке тела, а не к img.

Я предлагаю использовать appendTo, вот так:

$('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />')
.load(function(){
    console.log('ad load complete');
    $('#submit').click();
})
.appendTo($('body'));
15

В вашем коде.load() связано сbody из-за цепочки.

Измените код на:

var img = $('<img id="ad" src="img/ad.jpg" alt="Advertising Network" />');
img.load(function(){
    console.log('ad load complete');
    $('#submit').click();
});

$('body').append(img);

и это должно работать (http://jsfiddle.net/zerkms/f7epb/)

Похожие вопросы