有没有理由('img')。加载不起作用(jQuery)?

时间:2011-10-03 08:53:38

标签: javascript jquery performance image load

在执行下一行代码之前,我想先加载一组图像。代码如下:

$('div.some_class img').load(function() {
    // do something to div.some_class img
});

但是,在执行命令之前不会加载图像。当我尝试(window).load时,它会起作用。

我的问题是,('div.some_class img').load为什么不起作用?或者是因为我使用的是类选择器,这是选择元素的最慢方法吗?

2 个答案:

答案 0 :(得分:7)

来自http://api.jquery.com/load-event/

  

与图像一起使用时加载事件的注意事项

     

开发人员尝试使用.load()解决的常见问题   快捷方式是在图像(或集合)时执行函数   图像)已完全加载。有几个已知的警告   这应该注意。这些是:

     
      
  • 它不能始终如一地工作,也不能可靠地跨浏览器
  •   
  • 如果图像src设置为与之前相同的src,则无法在WebKit中正确触发
  •   
  • 它没有正确地冒泡DOM树
  •   
  • 可以停止触发已经存在于浏览器缓存中的图像
  •   

希望这能回答你的问题。

答案 1 :(得分:2)

https://gist.github.com/268257 - 这是一个用于检查所有已加载图像的jQuery插件

我不认为加载检查图像实际加载的标签已经加载了吗?我有同样的问题所以使用上面的插件