原生js获取鼠标坐标方法

关于js鼠标事件综合各大浏览器能获取到坐标的属性总共以下五种:

event.clientX/Y 
event.pageX/Y 
event.offsetX/Y 
event.layerX/Y 
event.screenX/Y 


clientX/Y:

clientX/Y获取到的是触发点相对浏览器可视区域左上角距离,不随页面滚动而改变。

兼容性:所有浏览器均支持

pageX/Y:

pageX/Y获取到的是触发点相对文档区域左上角距离,会随着页面滚动而改变。

兼容性:除IE6/7/8不支持外,其余浏览器均支持

offsetX/Y:

offsetX/Y获取到是触发点相对被触发dom的左上角距离,不过左上角基准点在不同浏览器中有区别,其中在IE中以内容区左上角为基准点不包括边框,如果触发点在边框上会返回负值,而chrome中以边框左上角为基准点。

兼容性:IE所有版本,chrome,Safari均完美支持,Firefox不支持

layerX/Y:

layerX/Y获取到的是触发点相对被触发dom左上角的距离,数值与offsetX/Y相同,layerX/Y这个变量就是firefox用来替代offsetX/Y的,基准点为边框左上角,但是有个条件就是,被触发的dom需要设置为position:relative或者position:absolute,否则会返回相对html文档区域左上角的距离。

兼容性:IE6/7/8不支持,opera不支持,IE9/10和Chrome、Safari均支持

screenX/Y:

screenX/Y获取到的是触发点相对显示器屏幕左上角的距离,不随页面滚动而改变。

兼容性:所有浏览器均支持

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
原生 JavaScript 中,你可以使用触摸事件来处理移动设备上的触摸交互。下面是一些常用的触摸事件和它们的使用方法: 1. touchstart:当手指触摸屏幕时触发。可以使用 event.touches 来获取所有触摸点的信息。 ```javascript element.addEventListener('touchstart', function(event) { var touches = event.touches; // 处理触摸事件 }); ``` 2. touchmove:当手指在屏幕上滑动时触发。可以使用 event.touches 来获取所有触摸点的信息。 ```javascript element.addEventListener('touchmove', function(event) { var touches = event.touches; // 处理触摸事件 }); ``` 3. touchend:当手指离开屏幕时触发。可以使用 event.changedTouches 来获取所有离开屏幕的触摸点的信息。 ```javascript element.addEventListener('touchend', function(event) { var touches = event.changedTouches; // 处理触摸事件 }); ``` 除了上述事件,还有一些其他的触摸事件,如 touchcancel(当触摸被取消,例如由于系统事件中断)等。你可以根据需要选择合适的事件来处理触摸交互。 在处理触摸事件时,你可以使用 event 对象的属性来获取触摸点的坐标等信息。例如,event.touches[i].clientX 表示第 i 个触摸点相对于可视窗口的水平坐标。 注意:触摸事件在移动设备上使用,而鼠标事件在桌面设备上使用。为了兼容不同设备,你可以同时监听触摸事件和鼠标事件,并在事件处理程序中进行相应的处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值