日期:2014-05-16  浏览次数:20397 次

[转]js或者jquery判断图片是否加载完成实现代码
网页中有时候需要获得图片的宽度和高度,来定义某些大小,可是这个是需要从服务端请求图片,下载到本地才能够得到的,有些js或者jquery代码在还没有加载完图片时就执行了。怎么办呢?

jquery提供一个方法:
  复制代码 代码如下:

  01.$("").load(function(){...});


其中选择器是图片的id或class,function里面的方法就是回调函数,在图片加载完成后执行,但是我试验了很多,压根儿不是那么回事,正确的解决方法是:

用js的onload方法:
  复制代码 代码如下:

  document.getElementById("").onload = function() {};


实验结果是可行的。



========================================

刚才查了一下jquery的api,发现event->document loading->load是deprecated的。
查了一下, 有人说可以使用以下方法:
$("selector").on("load", function() {
    // ...
});

试了一下确实可以。
好像是为了跟jquery的ajax里的load()方法区分开, 所以才不建议使用上面的load()..


=============================================
2/28更新
今天发现似乎load方法不适用于DOM, 只能用于img节点。
如果想要某一个DOM被建立之后便立刻执行脚本,需要用到ready().

这两个方法都在jquery API里的document loading里面。