【发布时间】:2011-11-22 23:34:01
【问题描述】:
我有一个带有微调器 gif 的图像元素。后来我用jQuery动态改变了该图像的src,我想得到新图像的实际宽度和高度。这是我的代码:
function loadImage() {
$('#uploaded-image').load(function() {
var img = document.getElementById('uploaded-image');
// These statements return the correct values in FF and Chrome but not IE
imgWidth = img.clientWidth;
imgHeight = img.clientHeight;
});
$('#uploaded-image').removeAttr('width').removeAttr('height').attr('src', imgUrl);
}
这在 Chrome 和 Firefox 中完美运行,但 IE 总是返回原始微调器 gif 的大小而不是新图像。
如何在 IE 中获取新图片的宽度和高度?
注意事项:
除了纯 Javascript 方法之外,我还尝试了 jQuery .width() 和 .height() 方法,结果相同。
.load 事件在所有浏览器中都按预期触发。
【问题讨论】:
-
真正奇怪的是,在 IE 的开发者工具中检查 DOM 属性时,即使显示的是原始微调器大小,而不是新图像的大小。
-
在 IE 开发者工具 (F12) 中,你需要按下那个小刷新来更新 DOM
标签: javascript jquery dom resize