我加载了一个json文件后,我正在更改img src,这一切都正常.但我想确保图像完全加载.我可以用它做什么:
.one("load",function(){
alert("image has load yay");
});
Run Code Online (Sandbox Code Playgroud)
但在阅读各种帖子后,如果图像在缓存中,并非所有浏览器都会激活加载.我似乎没有在浏览器中遇到导致此问题的此问题.但我只在mac上测试FF(6.0.2),Chrome(13.0.7)和Safari(5.0.5).现在我确定IE必须有问题,而且它只与PC有关.我正在运行相当近期版本的浏览器,因此在这些版本中已经发生了一些变化,现在已经发生火灾 或者我的另一个想法是我正在运行最新版本的jquery(1.6.3)已经更改了.load?
我希望它与运行最新的jquery有关,但如果没有,这是一个较旧的浏览器问题,那么我需要进行修复.我在这个网站上尝试了几个解决方案,例如: jQuery加载带有完整回调的图像以及 .load api页面上的一些注释:http: //api.jquery.com/load-event/#comment- 30211903
但我似乎无法让他们工作.第一个根本不起作用,第二个似乎与.each()一起失效.
这是我到目前为止的代码似乎工作正常,但不能确定可能是旧的浏览器问题.
$.getJSON(jsonURL, function(json) {
$("a.imgZoom img").attr("src", json[imageID].largeImage).one("load",function(){
alert("the image has loaded");
//do something here
});
$("a.imgZoom").attr("href", json[imageID].largeImage);
})
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
乙