screenX、clientX、pageX, offsetX的区别
一、图解
clientY、screenY、pageY、offsetY这四者是事件对象event上的属性
如图所示:假设紫色正方形中心处是点击处,紫色区域是鼠标事件触发对象
二、概念
1.screenX和screenY
- 参考点:电脑屏幕左上角
- screenX:鼠标点击位置相对于电脑屏幕左上角的水平偏移量
- screenY:鼠标点击位置相对于电脑屏幕左上角的垂直偏移量
2.clientX和clientY
- 参考点:浏览器内容区域左上角
- clientX:鼠标点击位置相对于浏览器可视区域的水平偏移量(不会计算水平滚动条的距离)
- clientY:鼠标点击位置相对于浏览器可视区域的垂直偏移量(不会计算垂直滚动条的距离)
3.pageX和pageY
- 参考点:网页的左上角
- pageX:鼠标点击位置相对于网页左上角的水平偏移量,也就是clientX加上水平滚动条的距离
- pageY:鼠标点击位置相对于网页左上角的垂直偏移量,也就是clientY加上垂直滚动条的距离
4.offsetX和offsetY
- 参考点:触发事件对象
- offsetX:鼠标点击位置相对于触发事件对象的水平距离
- offsetY:鼠标点击位置相对于触发事件对象的垂直距离