看一下下面这段代码

 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,这点我在手册里没有找到,是从网上看到的。