js中event对象的offsetX、 clientX、pageX、screenX、 layerX、x之间的区别

简介: 我们在web前端项目中经常会使用到offsetX、 clientX、pageX、screenX、 layerX、x等变量,但是有的时候有搞不清楚他们之间的区别,甚至被搞得一头雾水。

我们在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

三、图解 event.offsetX,event.clientX,event.pageX,event.screenX属性

img_0dd0fbe280de6112d9c8bb8b0ab8acab.jpe

四、图解 event.layerX,event.layerY 属性

img_2d49b3d1ca9bf26d6b29e63092cb214e.jpe

五、图解 event.layerX,event.layerY 属性

img_9719ee9e5c639c74a95a478d2c225326.jpe
相关文章
|
13天前
|
存储 JavaScript 前端开发
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
JavaScript 数据类型分为基本数据类型和引用数据类型。基本数据类型(如 string、number 等)具有不可变性,按值访问,存储在栈内存中。引用数据类型(如 Object、Array 等)存储在堆内存中,按引用访问,值是可变的。本文深入探讨了这两种数据类型的特性、存储方式、以及检测数据类型的两种常用方法——typeof 和 instanceof,帮助开发者更好地理解 JavaScript 内存模型和类型检测机制。
30 0
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
|
19天前
|
存储 JavaScript 前端开发
JavaScript 对象的概念
JavaScript 对象的概念
33 4
|
18天前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
24 1
|
18天前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
14 2
|
21天前
|
JavaScript 前端开发 Unix
Node.js 全局对象
10月更文挑战第5天
17 2
|
14天前
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
10 0
|
18天前
|
JavaScript 前端开发 索引
JavaScript中数组、对象等循环遍历的常用方法介绍(一)
JavaScript中数组、对象等循环遍历的常用方法介绍(一)
15 0
|
4月前
|
存储 JavaScript 前端开发
|
JavaScript
js基础笔记学习247event对象3
js基础笔记学习247event对象3
63 0
js基础笔记学习247event对象3
|
JavaScript
js基础笔记学习309筛选jquery对象1
js基础笔记学习309筛选jquery对象1
53 0
js基础笔记学习309筛选jquery对象1