jquery获取鼠标位置(兼容原生js)

本文详细介绍了浏览器中获取鼠标位置的四种方式:e.offsetX/offsetY、e.clientX/clientY、e.pageX/pageY和e.screenX/screenY,并强调了它们之间的区别和应用场景。特别指出,Firefox现在已支持offsetX/offsetY,使得这四种方法在主流浏览器中实现兼容。同时,文中提及当body无滚动条时,page和offset值相同,但如果有滚动条,page值会随滚动条位置改变,且仅body的滚动会影响这些值。了解这些差异对于精准定位鼠标位置至关重要。

e.offsetX/e.offsetY 鼠标点距绑定事件的dom源左上角距离

e.clientX/e.clientY 鼠标点距浏览器客户区左上角距离

e.pageX/e.pageY 鼠标点距浏览器文档左上角距离

e.screenX/e.screenY 鼠标点距屏幕左上角距离

注:

1.有文章说firefox不支持offsetX/offsetY,经测试新版firefox已支持了。这样以上4种位置实现了主要浏览器的兼容(IE/Chrome/Firefox)

2.当body没有滚动条时,page和offset是一样的。如果body有滚动条,page值随滚动条位置变化。(注意的注意:是body的滚动。假设dom父容器有滚动条,但body没有,page值不受影响)

3.如何获得浏览器外鼠标位置

参考资料:

https://www.cnblogs.com/moqiutao/p/5050225.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值