2012-07-30 68 views
2
var img = $('.container img'); 

$(img).load(function() { 
    // do something 
}); 

我遇到​​函数的问题。这是我上面的代码片段,它在变量img存在时运行函数。但有时候,这个函数不会运行。这是否有趣的事情做的变量img不被及时存储?如果您认为这是事实,是否有人知道如何延迟​​调用以确保该功能发生。JQuery .load()问题

感谢

+0

其不明确的,你得到了什么:错误或没有? – 2012-07-30 10:18:11

+0

你把上面的代码包装在$(document).ready()中了吗? – Nick 2012-07-30 10:29:45

+0

是的,$(document).ready()是任何人的第一件事。而我什么也得不到。 – 2012-07-30 10:47:21

回答

0

尝试使用on方法,在你img标签出现在DOM:

$('.container img').on('load', function() { 
    console.log(this); 
}); 

JSFiddle

0

问题可能是您在DOM准备好之前绑定事件。尝试把你的代码的包装是这样的:

//HTML 
<img src="https://www.google.se/logos/2012/fencing-2012-hp.jpg">​ 

//JS 
$(function(){ 
    //This will be run after DOM is loaded 
    $("img").load(function(){ 
     alert("loaded"); 
    }); 
});​ 

http://jsfiddle.net/NX6Hj/