博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[1]区分event对象中的[clientX,offsetX,screenX,pageX]
阅读量:5987 次
发布时间:2019-06-20

本文共 932 字,大约阅读时间需要 3 分钟。

前言


在平时的开发中,非常讨厌的就是兼容性了,兼容性的问题总会让我们记忆混淆,所以这次来区分一下event对象中的常用获取鼠标位置。

clientX clientY


event.clientX

event.clientY

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

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

client范围

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

offsetX offsetY


event.offsetX

event.offsetY

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

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

chrome下的offset参考点

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

IE、FF下的offset参考点

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

screenX screenY


event.screenX

event.sreenY

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

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

pageX pageY


event.pageX

event.pageY

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

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

 

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

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

作者:Rin阳
链接:http://www.jianshu.com/p/a52077e8369d
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载于:https://www.cnblogs.com/yeziTesting/p/7655091.html

你可能感兴趣的文章
大型网站技术架构(八)网站的安全架构
查看>>
AngularJS(v1.4.0-rc.1) filter 从数组项中选择一个子集
查看>>
BZOJ3772精神污染——可持久化线段树+出栈入栈序
查看>>
[Codeforces261D]Maxim and Increasing Subsequence——树状数组+DP
查看>>
Uva 1451
查看>>
RabbitMQ学习总结(3)——入门实例教程详解
查看>>
RabbitMQ学习总结(5)——发布和订阅实例详解
查看>>
SHELL实现跳板机,只允许用户执行少量允许的命令
查看>>
如何通过putty向服务器传输文件
查看>>
swift数据持久化--归档
查看>>
LAMP环境搭建
查看>>
Linux 的rpc.statd 服务简介
查看>>
接受区块链风云榜美女总监专访视频
查看>>
C3P0 了解
查看>>
BufferedReader中文乱码问题解决
查看>>
MongoDB【监控】 - MongoVUE
查看>>
jQuery图片轮播的具体实现
查看>>
phpcms v9 视频模型插件(手动点播+自动连播)
查看>>
JSONP原理优缺点(只能GET不支持POST)
查看>>
在java中重复一个字符串n次的几种方法
查看>>