看一下下面这段代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<html>
<head>
<script type="text/javascript" charset="utf-8">
function mousemove()
{
document.myForm.screenx.value=event.clientX;
document.myForm.screeny.value=event.clientY;
}
</script>
</head>
<body>
<form action="test_submit" method="get" name="myForm">
<img src="./aaa.png" onmousemove="mousemove()"/>
<input type="text" name="screenx" value="change when mousemove"/>
<input type="text" name="screeny" value="change when mousemove"/>
</form>
</body>
</html>
|
这段代码在ie中可以正常执行,鼠标在图片上移动时,input的框里会显示鼠标的坐标。但是在火狐里就悲剧了,firebug提示event is not defined
。后来才知道,需要在调用mousemove()
函数时将event传入,即onmousemove="mousemove(event)"
,之后该函数可以正常运行,并且在ie里也正常。
另外,onkeypress
事件发生后想获取按键值时,ie里使用的是event.keyCode
,而在火狐里需要用的是event.which
,这点我在手册里没有找到,是从网上看到的。