事件onResize无法处理标记img

时间:2015-02-24 11:41:05

标签: javascript html css

我有这个:

<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并打印图像大小。

好的,但如果我将事件onLoadonResize动态添加到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>

0 个答案:

没有答案