IE图片onload事件

又是IE这个奇葩的玩意,我本来想把一个图片插入页面获取图片的高宽和宽度,因为图片有最大高度和宽度。一开始我是把图片放到页面插入后然后浏览器自动渲染我用jQuery获取高度和宽度。但是奇葩的IE执行onload事件的时候每次获取到的图片高和宽不正确。

$("#image").attr("src", src);
var image = new Image();
image.src = src;
image.onload = function(){
    var w = $("#image").width();
    var h = $("#image").height();
}

后来看网上说把img.src=src;写到onload事件后面,我发现还是不行。

于是我就改用了jQuery的的load事件,我发现这样就可以了。

$("#image").attr("src", src);
$("#image").load(function(){
    var w = $("#image").width();
    var h = $("#image").height();
}

其实这个还可以这样解决:在第一个方法里面自己按照最大的高和宽计算出需要的高和宽。

$("#image").attr("src", src);
var image = new Image();
image.onload = function(){
    var w = image.width;
    var h = image.height;
}
image.src = src;