我们在web前端项目中经常会使用到offsetX、 clientX、pageX、screenX、 layerX、x等变量,但是有的时候有搞不清楚他们之间的区别,甚至被搞得一头雾水。
这里给大家总结了一下他们之间的区别,而且使用图片给大家清晰的展示出来。
图片是从其他大神那里字节拿过来用的,这是大神的原博客 江波的博客
一、测试代码:
window.onload=function(e){
var box=document.getElementById("box");
box.onclick=function(e){
console.log(e.clientX,e.clientY);
console.log(e.offsetX,e.offsetY);
console.log(e.pageX,e.pageY);
console.log(e.screenX,e.screenY);
console.log(e.layerX,e.layerY);
}
}
二、不同浏览器对这些属性的支持:
![img_729b486f2c5964e88420ba04486fb5bf.png](https://yqfile.alicdn.com/img_729b486f2c5964e88420ba04486fb5bf.png)
三、图解 event.offsetX,event.clientX,event.pageX,event.screenX属性
![img_0dd0fbe280de6112d9c8bb8b0ab8acab.jpe](https://yqfile.alicdn.com/img_0dd0fbe280de6112d9c8bb8b0ab8acab.jpeg)
四、图解 event.layerX,event.layerY 属性
![img_2d49b3d1ca9bf26d6b29e63092cb214e.jpe](https://yqfile.alicdn.com/img_2d49b3d1ca9bf26d6b29e63092cb214e.jpeg)
五、图解 event.layerX,event.layerY 属性
![img_9719ee9e5c639c74a95a478d2c225326.jpe](https://yqfile.alicdn.com/img_9719ee9e5c639c74a95a478d2c225326.jpeg)