IE与FF下的event对象
帮朋友解决个问题,在网页通过JavaScript获取鼠标的坐标,我告诉他IE中就这样:
function getClient(){
var x =event.clientX ;//横坐标
var y =event.clientY ;//竖坐标
}
就可以得到鼠标所在位置的坐标了。当时没注意到火狐FF浏览器,没做测试,朋友之后发现FF下不行,这才发现,写的不完全,没有兼容FF。看过JavaScript资料的都知道event在不同的浏览器中的有差异,因为javascript的事件模型有三种,它们分别是NN4、IE4+和 W3C/Safari;这也造成了在不同的浏览器中处理event的差异,下面就介绍下,IE与FF下的event对象的差异。
在IE中event作为window对象的一个属性可以直接使用,但是在Firefox中却使用了W3C的模型,它是通过传参的方法来传播事件的,也就是说你需要为你的函数提供一个事件响应的接口,也就是在执行引用了event这个属性的方法时候,这个方法要传一个参数进去,及上面的代码要改成:
function getClient(arg){
vat event = arg||window.event;
var x =event.clientX ;//横坐标
var y =event.clientY ;//竖坐标
}
这样做以后在FF下就不会出什么问题了。
当然有一篇更好的文章讲述了IE和Firefox下的event:
感觉挺好的:http://kdisk-sina-com.javaeye.com/blog/426952
声明:转载原创文章时请注明:
文章转载自:快乐心情, 原文地址:IE与FF下的event对象
Recent Comments