我有这个:
<html>
<head>
<title>Test</title>
<script>
function onLoad(img) {
alert(img.width);
alert(img.height);
}
function clickc() {
var a = document.getElementById("testdiv1");
a.style.display = "inline";
}
function onResize(img) {
alert(img.width);
alert(img.height);
}
</script>
</head>
<body>
<div id="testdiv1" style="display: none;">
<img id="testImg" src="C:\workspaces\hudsonspace28\g6-formcenter-test\bin\com\senior\formcenter\test\file\resources\Tulipas.jpg" onload="onLoad(this);" onresize="onResize(this);"/>
</div>
<button onclick="clickc()"/>
</body>
</html>
在IE10中,加载页面时,会调用onLoad
。在屏幕上打印0。
当我单击按钮调用clickc
时,调用onResize
并打印图像大小。
好的,但如果我将事件onLoad
和onResize
动态添加到IMG
,则只会调用onLoad
。
例:
<div id="testdiv1" style="display: none;">
<img id="testImg" src="C:\workspaces\hudsonspace28\g6-formcenter-test\bin\com\senior\formcenter\test\file\resources\Tulipas.jpg"/>
</div>
<button onclick="clickc()"/>
<script>
document.getElementById("testImg").addEventListener("load", onLoad, false);
document.getElementById("testImg").addEventListener("resize", onResize, false);
</script>
我的目标是在可能的情况下获取图像的大小,因为在这种情况下,Chrome / Firefox / IE11会返回onLoad
中图像的大小,但在IE9 / IE10中返回大小为0. / p>