js实现获取鼠标当前的位置

发布时间 - 2026-01-10 21:49:36    点击率:

有时候,我们需要得到窗口拖动或者鼠标移动的距离,此时可以通过计算鼠标前后在页面中的位置来得到想要的结果,下面介绍几个事件属性:

1、客户区坐标位置

鼠标事件都是在浏览器视口中的特定位置上发生的。这个位置信息保存在事件对象的 clientX 和 clientY 属性中。它们的值表示事件发生时鼠标指针在视口中的水平垂直坐标(不包括页面滚动的距离)。如下图所示:

var div = document.getElementById("myDiv"); //获取元素
EventUtil.on(div, "click", function(event){
 event = EventUtil.getEvent(event);
 alert("Screen coordinates: " + event.screenX + "," + event.screenY);
});

:其中,EventUtil.on()表示为元素绑定事件,EventUtil.getEvent(event)表示获取事件对象。EventUtil是自定义的事件对象(使用JavaScript实现),里面包含了一些跨浏览器的方法,具体实现,请看另一篇文章《js 实现一些跨浏览器的事件方法详解及实例》。如果项目使用了jQuery插件,可相应的替换成对应的方法。

2、页面坐标位置

事件对象属性pageXpageY,能告诉你事件是在页面中的什么位置发生的。换句话说,这两个属性表示鼠标光标在页面中的位置(相当于鼠标在窗口中的位置坐标 + 页面滚动的距离)。

var div = document.getElementById("myDiv");//获取id为"myDiv"的元素
EventUtil.on(div, "click", function(event){//为元素绑定click事件
 event = EventUtil.getEvent(event);//获取event事件对象
 var pageX = event.pageX,pageY = event.pageY;
 if (pageX === undefined){//IE8及更早版本
 pageX = event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft);
 }
 if (pageY === undefined){
 pageY = event.clientY + (document.body.scrollTop || document.documentElement.scrollTop);
 }
 alert("Page coordinates: " + pageX + "," + pageY);
});

3、屏幕坐标位置

通过screenXscreenY属性就可以确定鼠标事件发生时鼠标指针相对于整个屏幕的坐标信息。如下图所示:

var div = document.getElementById("myDiv");
EventUtil.on(div, "click", function(event){
 event = EventUtil.getEvent(event);
 alert("Screen coordinates: " + event.screenX + "," + event.screenY);
});

文章参考自《JavaScript高级程序设计第三版》

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js  # 获取当前鼠标的位置  # 获取鼠标当前位置  # js与jquery中获取当前鼠标的x、y坐标位置的代码  # 使用JS获取当前地理位置方法汇总  # js获取元素在浏览器中的绝对位置  # js实现滚动条滚动到某个位置便自动定位某个tr  # js获取元素相对窗口位置的实现代码  # JS中获取 DOM 元素的绝对位置实例详解  # JS控制弹出新页面窗口位置和大小的方法  # js获取鼠标位置实例详解  # JS获取当前地理位置的方法  # 一篇文章让你彻底搞懂js中的位置计算  # 鼠标  # 是在  # 所示  # 绑定  # 如下图  # 口中  # 鼠标指针  # 几个  # 告诉你  # 这两个  # 可以通过  # 自定义  # 拖动  # 相对于  # 不包括  # 程序设计  # 就可以  # 第三版  # 更早  # 替换成 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  PHP 500报错的快速解决方法  如何打造高效商业网站?建站目的决定转化率  iOS发送验证码倒计时应用  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Linux系统运维自动化项目教程_Ansible批量管理实战  如何撰写建站申请书?关键要点有哪些?  Laravel如何使用Collections进行数据处理?(实用方法示例)  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  Android利用动画实现背景逐渐变暗  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  Python文件流缓冲机制_IO性能解析【教程】  *服务器网站为何频现安全漏洞?  ,在苏州找工作,上哪个网站比较好?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  北京网站制作公司哪家好一点,北京租房网站有哪些?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  QQ浏览器网页版登录入口 个人中心在线进入  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  BootStrap整体框架之基础布局组件  北京企业网站设计制作公司,北京铁路集团官方网站?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  JavaScript实现Fly Bird小游戏  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Laravel怎么在Controller之外的地方验证数据  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  如何在阿里云虚拟服务器快速搭建网站?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  浅析上传头像示例及其注意事项  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Android实现代码画虚线边框背景效果  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  使用C语言编写圣诞表白程序  香港网站服务器数量如何影响SEO优化效果?  EditPlus中的正则表达式 实战(4)  python中快速进行多个字符替换的方法小结