在 JavaScript 中,当事件发生时,获取鼠标的位置是件很重要的事件。由于浏览器的不兼容性,不同浏览器分别在各自事件对象中定义了不同的属性,说明如下表所示。这些属性都是以像素值定义了鼠标指针的坐标,但是由于它们参照的坐标系不同,导致精确计算鼠标的位置比较麻烦。
属性及其兼容性
属性
说明
兼容性
clientX
以浏览器窗口左上顶角为原点,定位 x 轴坐标
所有浏览器,不兼容 Safari
clientY
以浏览器窗口左上顶角为原点,定位 y 轴坐标
所有浏览器,不兼容 Safari
offsetX
以当前事件的目标对象左上顶角为原点,定位 x 轴坐标
所有浏览器,不兼容 Mozilla
offsetY
以当前事件的目标对象左上顶角为原点,定位 y 轴坐标
所有浏览器,不兼容 Mozilla
pageX
以 document 对象(即文档窗口)左上顶角为原点,定位 x 轴坐标
所有浏览器,不兼容 IE
pageY
以 document 对象(即文档窗口)左上顶角为原点,定位 y 轴坐标
所有浏览器,不兼容 IE
screenX
计算机屏幕左上顶角为原点,定位 x 轴坐标
所有浏览器
screenY
计算机屏幕左上顶角为原点,定位 y 轴坐标
所有浏览器
layerX
最近的绝对定位的父元