获取鼠标位置区分event对象中的-clientXoffsetXscreenXpageX

31次阅读

共计 663 个字符,预计需要花费 2 分钟才能阅读完成。

作用:都是用来获取鼠标的位置

clientX clientY

event.clientX
event.clientY


client 直译就是客户端,客户端的窗口就是指游览器的显示页面内容的窗口大小(不包含工具栏、导航栏等等)。

event.clientX、event.clientY 就是用来获取鼠标距游览器显示窗口的长度。

兼容性:IE 和主流游览器都支持。

offsetX offsetY

event.offsetX
event.offsetY

offset 意为偏移量,是被点击的元素距左上角为参考原点的长度,而 IE、FF 和 Chrome 的参考点有所差异。

Chrome 下,offsetX offsetY 是包含边框的,如图所示。

而 IE、FF 是不包含边框的,如果鼠标进入到 border 区域,为返回负值,如图所示。

兼容性:IE9+,chrome,FF 都支持此属性。

screenX screenY

event.screenX
event.screenY

screen 顾名思义是屏幕,是用来获取鼠标点击位置到屏幕显示器的距离,距离的最大值需根据屏幕分辨率的尺寸来计算。

兼容性:所有游览器都支持此属性。

pageX pageY

event.pageX
event.pageY

page 为页面的意思,页面的高度一般情况 client 游览器显示区域装不下,所以会出现垂直滚动条。

鼠标距离页面初始 page 原点的长度。

在 IE 中没有 pageX、pageY,取而代之的是 event.x、event.y。x 和 y 在 webkit 内核下也实现了,所以火狐不支持 x,y。

兼容性:IE 不支持,其他高级游览器支持。

正文完
 0