2012-05-28 112 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'));