2012-05-28 147 views
6

加載後動態添加圖像到頁面,然後用戶交互,並且在圖像完全加載後無法啓動函數。我認爲使用jQuery的​​方法會很好..但根據我的控制檯和一堆記錄.log業務,它從未執行過。看下面..謝謝!jQuery圖像加載回調

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

UPDATE:

爲了澄清,這是既documentwindow負載之後。

回答

15

在您的代碼中​​由於鏈接而與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/

0

追加函數返回包含的元素,而不是被附加了一個,所以你的功能結合到身體的負載,而不是img。

我建議使用appendTo,就像這樣:

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