touch.pageX/touch.screenX/touch.clientX的区别

touch.pageX、touch.screenX和touch.clientX是JavaScript中用于处理触摸事件时获取X坐标的方法。pageX包含滚动偏移,screenX不考虑页面滚动但基于设备屏幕,clientX则不包含滚动偏移且随浏览器缩放变化。通过示例演示了三者在不同场景下的区别。
摘要由CSDN通过智能技术生成

摘定义:

pageX : 触点相对于HTML文档左边沿的的X坐标. 和 clientX 属性不同, 这个值是相对于整个html文档的坐标, 和用户滚动位置无关. 因此当存在水平滚动的偏移时, 这个值包含了水平滚动的偏移.

screenX : 返回触点相对于屏幕左边沿的的X坐标. 不包含页面滚动的偏移量.

clientX : 返回触点相对于可见视区(visual viewport)左边沿的的X坐标. 不包括任何滚动偏移.这个值会根据用户对可见视区的缩放行为而发生变化.

具体差别如下:
做了一个带滚动条的demo。在这里插入图片描述

当我们正常点击时,返回的内容都是相同的,都是距离最左侧的距离。在这里插入图片描述

而当我们拖动滚动条时,再点击中间某个地方,发现pageX的值明显大于另外两个,那么我们容易知道,pageX相对左侧的距离是包含滚动条的距离,而其余

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值