我对javascript事件处理程序有一些问题,我真的想知道我做错了什么。 这是事情,我想提醒悬停的div的宽度,但是一旦加载页面,就会出现警报。
这是HTML:
<div id="mainContainer">
<div id="container_1" style="width:200px"></div>
<div id="container_2" style="width:100px"></div>
<div id="container_3" style="width:300px"></div>
<div id="container_4" style="width:150px"></div>
</div>
这是js:
dataRetrieving = {
getWidth:function(id){
var box = document.getElementById(id);
var tempResult = box.style.width;
return tempResult;
}
}
var container = document.getElementById("container_1");
container.onmouseover = function(){
alert(dataRetrieving.getWidth("container_1"));
};
已经回答了,谢谢:D
我很感激你们给我的任何提示。
提前致谢!
答案 0 :(得分:2)
您需要将onmouseover
设置为以下内容:
container.onmouseover = function(){
dataRetrieving.getWidth("container_1");
};
在当前代码中,事件处理程序(设置为container.onmouseover
)设置为dataRetrieving.getWidth(...)
的结果 - 这没什么,因为getWidth
当前没有返回任何内容。这也会导致警报立即出现,因为该功能正在立即执行。 (为了有效,它必须返回另一个函数。)
答案 1 :(得分:1)
container.onmouseover = dataRetrieving.getWidth("container_1");
你在那里调用那个函数就是为什么它会在页面加载时发出警告。