博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
screenX/Y,clientX/Y,offsetX/Y和pageX/Y之间有什么区别?
阅读量:6291 次
发布时间:2019-06-22

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

offsetX,offsetY

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

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

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

clientX,clientY

设置或获取鼠标指针位置相对于浏览器视口(内容区域的左上角)的坐标,与浏览器是否有滚动条无关

相对于页面的可见部分的左上角,通过浏览器窗口“看到”。

screenX,screenY

鼠标指针位置相对于设备屏幕的左上角的坐标,如果在chrome

devtool以手机模式查看页面,获取的还是相对于整个电脑屏幕的左上角的坐标

pageX,pageY

相对于浏览器中完全呈现的内容区域的左上角,此参考点位于左上方的网址栏和后退按钮下方。如果在页面中嵌入可嵌入的可滚动页面,并且用户移动滚动条,则可以实际改变位置。

坐标相对于整个渲染页面的左上角(包括滚动隐藏的部分)

  • pageX与clientX的区别

也就是说,当浏览器没有滚动条的时候,pageX和clientX是一样的

以上除了screenX/Y以设备像素为单位,其他都是以css像素为单位

测试代码:

document.addEventListener('click', function(e) {  console.log(    'page: ' + e.pageX + ',' + e.pageY,    'client: ' + e.clientX + ',' + e.clientY,    'screen: ' + e.screenX + ',' + e.screenY,    'offset: ' + e.offsetX+ ',' + e.offsetY)}, false);

参考文章:

1.
2.

转载地址:http://kgkta.baihongyu.com/

你可能感兴趣的文章
Android程序开发初级教程(一) 开始 Hello Android
查看>>
使用Gradle打RPM包
查看>>
“我意识到”的意义
查看>>
淘宝天猫上新辅助工具-新品填表
查看>>
再学 GDI+[43]: 文本输出 - 获取已安装的字体列表
查看>>
nginx反向代理
查看>>
操作系统真实的虚拟内存是什么样的(一)
查看>>
hadoop、hbase、zookeeper集群搭建
查看>>
python中一切皆对象------类的基础(五)
查看>>
modprobe
查看>>
android中用ExpandableListView实现三级扩展列表
查看>>
%Error opening tftp://255.255.255.255/cisconet.cfg
查看>>
java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
查看>>
《从零开始学Swift》学习笔记(Day 51)——扩展构造函数
查看>>
python多线程队列安全
查看>>
[汇编语言学习笔记][第四章第一个程序的编写]
查看>>
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>