【发布时间】:2014-12-25 17:13:48
【问题描述】:
我试图弄清楚为什么这不起作用,并想知道是否有人可以帮助我。基本上我需要具有不同图像的该对象的多个实例,并且我需要每个对象存储其关联图像的图像高度/宽度以进行进一步操作,但是 onload 事件永远不会触发?
如果您看到 TestTheVar 函数 imgW 永远不会设置为任何值,那么抱歉,这里是完整的代码。
<script type="text/javascript">
(function() {
var myTest = new TestObj();
mytest.TestTheVar();
})();
function TestObj() {
this.img = new Image();
this.img.onload = function(){
this.imgW = this.img.width;
this.imgH = this.img.height;
};
this.img.src = "reel_normal.PNG";
this.TestTheVar = function() {
alert(this.imgW);
}
}
</script>
【问题讨论】:
-
如何测试 onload 事件是否触发?
-
在对象的下方有一个使用 imgW 的函数,它永远不会被设置
-
我有类似的代码工作。我使用了 addEventListener 但我认为它没有什么不同。请使用控制台输出仔细检查。
-
注意
this内的load事件侦听器是图像,而不是您的TestObj实例。所以如果以后要使用imgW,就必须是this.img.imgW。 -
您的事件触发了,它只是在读取/设置错误的变量。附言请在开发/调试时始终打开您的 JavaScript 控制台,您可能会在其中看到错误。
标签: javascript