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


Posted in Javascript onDecember 14, 2016

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

1、客户区坐标位置

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

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

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属性就可以确定鼠标事件发生时鼠标指针相对于整个屏幕的坐标信息。如下图所示:

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

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

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

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

Javascript 相关文章推荐
关于恒等于(===)和非恒等于(!==)
Aug 20 Javascript
YUI模块开发原理详解
Nov 18 Javascript
js实现防止被iframe的方法
Jul 03 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
Jan 23 Javascript
JS实现设置ff与ie元素绝对位置的方法
Mar 08 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
Nov 09 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
Dec 11 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
Dec 08 Javascript
JS实现的文字间歇循环滚动效果完整示例
Feb 13 Javascript
vue基础之事件v-onclick="函数"用法示例
Mar 11 Javascript
js实现内置计时器
Dec 16 Javascript
详解Vue中的watch和computed
Nov 09 Javascript
详解vue.js组件化开发实践
Dec 14 #Javascript
JavaScript Ajax实现异步通信
Dec 14 #Javascript
微信小程序 配置文件详细介绍
Dec 14 #Javascript
微信小程序 闭包写法详细介绍
Dec 14 #Javascript
微信小程序 wx.uploadFile无法上传解决办法
Dec 14 #Javascript
bootstrap日历插件datetimepicker使用方法
Dec 14 #Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 #Javascript
You might like
使用php shell命令合并图片的代码
2011/06/23 PHP
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
javascript关于继承解析
2016/05/10 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
多个应用共存的Django配置方法
2018/05/30 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
python pandas时序处理相关功能详解
2019/07/03 Python
python实现邮件自动发送
2019/08/10 Python
Python3进制之间的转换代码实例
2019/08/24 Python
pytorch构建多模型实例
2020/01/15 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
大学生最常用的自我评价
2013/12/07 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
甲午风云观后感
2015/06/02 职场文书
小学一年级数学教学反思
2016/02/16 职场文书
react 路由Link配置详解
2021/11/11 Javascript
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技