当前位置: 首页 > 编程笔记 >

Javascript 获取鼠标当前的位置实现方法

陈誉
2023-03-14
本文向大家介绍Javascript 获取鼠标当前的位置实现方法,包括了Javascript 获取鼠标当前的位置实现方法的使用技巧和注意事项,需要的朋友参考一下

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

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实现),里面包含了一些跨浏览器的方法,具体实现,请看另一篇文章《一些跨浏览器的事件方法》。如果项目使用了jQuery插件,可相应的替换成对应的方法。

2、页面坐标位置

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

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、屏幕坐标位置

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

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

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍javascript获取当前鼠标坐标的方法,包括了javascript获取当前鼠标坐标的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript获取当前鼠标坐标的方法。分享给大家供大家参考。具体实现方法如下: 对于javascript获取当前鼠标坐标来说,得对不同浏览器的坐标位置有所了解。具体代码如下: 希望本文所述对大家的javascript程序设计有所帮助

  • 本文向大家介绍Javascript实现获取及设置光标位置的方法,包括了Javascript实现获取及设置光标位置的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Javascript实现获取及设置光标位置的方法。分享给大家供大家参考。具体如下: 在项目开发中经常遇到input等设置光标位置到最后的问题,今天我查了一下Google,找到了在IE、Firefox、Opera等主流浏览器的获

  • 问题内容: 我正在尝试使用Jinput打印出鼠标位置: 这是我的InputManager,它在初始化时扫描所有输入设备,并将所有鼠标分离到单独的列表中: x和y的打印信息始终为0。我在Windows 10上运行此程序,是否会引起任何问题?如何使用Jinput从鼠标获取鼠标数据? 问题答案: JInput处于较低级别,您正在混淆窗口指针和鼠标。鼠标只是相对轴> 2的设备。每次轮询后或在每个事件中的值

  • 问题内容: 我想在Java中模拟鼠标的自然运动(从此处逐像素移动)。为此,我需要知道起始坐标。 我找到了方法event.getX()和event.getY(),但是我需要一个事件… 我如何不做任何事情(或看不见的事情)就知道职位? 谢谢 问题答案: MouseInfo.getPointerInfo()。getLocation()可能会有所帮助。它返回与当前鼠标位置相对应的Point对象。

  • 本文向大家介绍Android实现Service获取当前位置(GPS+基站)的方法,包括了Android实现Service获取当前位置(GPS+基站)的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android实现Service获取当前位置(GPS+基站)的方法。分享给大家供大家参考。具体如下: 需求详情: 1)、Service中每隔1秒执行一次定位操作(GPS+基站) 2)、定位的

  • 本文向大家介绍js获取鼠标位置实例详解,包括了js获取鼠标位置实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js获取鼠标位置的方法。分享给大家供大家参考,具体如下: 用 javascript 获取当前页面上鼠标(光标)位置在许多情况下都会用到,比如拖放,悬停提示(tooltip) 等等。当然,这里我们依然要面对浏览器的兼容问题,在不同的浏览器下,对这些相关的属性处理方式也不同,这