鼠标 event 中的各种 X 与 Y

event 中的各种 X 与 Y

初学者在使用鼠标事件监听器时,总会搞混 X 与 Y 的作用与含义,这篇文章便来仔细讲讲这方面的知识。

client x | y

client 指的是当前事件触发位置相对于浏览器左上角的坐标,由于该值是相对于浏览器的坐标,因此如果绑定的元素滚动则该值会因为页面的滚动导致该值的计算原点改变,从而导致结果不同。

layer x | y

layer 指的是当前事件触发位置相对于其具有定位元素的父元素的左上角的坐标,如果找不到父元素则以 body 的左上角为原点。

offset x | y

offset 指的是当前事件触发位置相对于事件元素的坐标,并且由于该属性指的是整个事件元素,因此计算时会算上 padding 的值。

page x | y

page 指的是当前事件触发位置相对于文档左上角的坐标,由于该值是相对于整个文档流的坐标,因此即使发生滚动,该值也按照原先的原点进行计算

screen x | y

screen 指的是当前事件触发位置相对于你的整个显示器(电脑屏幕)左上角的坐标,因此该值会根据你浏览器窗口的位置改变而发生改变。

特殊事件的 event

movement x | y

movement 是 mousemove 事件特定的属性,只有在 mousemove 中能够具有有效值。它指的是当次鼠标移动位置与上一次鼠标移动位置的大小,向右移动为正值,向左为负值,以此类推。

delta x | y | z

delta 是鼠标滚轮事件的特定属性,只有鼠标滚轮时才具有有效值。该值指的是鼠标的滚动量,该值具有正负,因此可以用来表示滚动的方向。

相关推荐
GreenTea23 分钟前
从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码
前端·人工智能·后端
渣渣xiong1 小时前
从零开始:前端转型AI agent直到就业第五天-第十一天
前端·人工智能
布局呆星1 小时前
Vue3 | 组件通信学习小结
前端·vue.js
C澒1 小时前
IntelliPro 企业级产研协作平台:前端智能生产模块设计与落地
前端·ai编程
OpenTiny社区3 小时前
重磅预告|OpenTiny 亮相 QCon 北京,共话生成式 UI 最新技术思考
前端·开源·ai编程
前端老实人灬3 小时前
web前端面试题
前端
Moment3 小时前
AI 全栈指南:NestJs 中的 Service Provider 和 Module
前端·后端·面试
IT_陈寒3 小时前
为什么我的JavaScript异步回调总是乱序执行?
前端·人工智能·后端
Moment3 小时前
AI全栈入门指南:NestJs 中的 DTO 和数据校验
前端·后端·面试