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

 更新时间:2016年12月14日 15:35:19   作者:浅岸  
本文主要介绍了利用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实现),里面包含了一些跨浏览器的方法,具体实现,请看另一篇文章《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中的6种打断点的方式实例总结

    JS中的6种打断点的方式实例总结

    断点调试是啥?难不难? 断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了,下面这篇文章主要给大家介绍了关于JS中6种打断点方式的相关资料,需要的朋友可以参考下
    2022-04-04
  • js给网页加上背景音乐及选择音效的方法

    js给网页加上背景音乐及选择音效的方法

    这篇文章主要介绍了js给网页加上背景音乐及选择音效的方法,涉及javascript操作音频的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 微信公众号服务器验证Token步骤图解

    微信公众号服务器验证Token步骤图解

    这篇文章主要介绍了微信公众号服务器验证Token步骤图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • JavaScript算法系列之快速排序(Quicksort)算法实例详解

    JavaScript算法系列之快速排序(Quicksort)算法实例详解

    这篇文章主要介绍了JavaScript算法系列之快速排序(Quicksort)算法实例详解的相关资料,需要的朋友可以参考下
    2016-09-09
  • JavaScript中的scrollTop详解(滚动到顶部)

    JavaScript中的scrollTop详解(滚动到顶部)

    scrollTop是JavaScript中一个非常有用且重要的方法,它用于获取或设置元素的垂直滚动条位置,这篇文章主要给大家介绍了关于JavaScript中scrollTop详解(滚动到顶部)的相关资料,需要的朋友可以参考下
    2023-12-12
  • 如何在父窗口中得知window.open()出的子窗口关闭事件

    如何在父窗口中得知window.open()出的子窗口关闭事件

    在父窗口中得知window.open()出的子窗口关闭事件的方法有很多,在本文将为大家详细介绍下,感兴趣的朋友可以参考下
    2013-10-10
  • axios实现简单文件上传功能

    axios实现简单文件上传功能

    这篇文章主要为大家详细介绍了axios实现简单文件上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • bootstrap实现的自适应页面简单应用示例

    bootstrap实现的自适应页面简单应用示例

    这篇文章主要介绍了bootstrap实现的自适应页面简单应用,结合具体实例形式分析了基于bootstrap的列表布局结构页面实现与使用技巧,需要的朋友可以参考下
    2017-03-03
  • js常用系统函数用法实例分析

    js常用系统函数用法实例分析

    这篇文章主要介绍了js常用系统函数用法,实例分析了escape、parseInt、parseFloat、isNaN、isFinite等函数的用法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • js 函数式编程学习笔记

    js 函数式编程学习笔记

    这两天看书看到了函数式编程那节,感觉学到了挺多东西,之前看别人代码都写的挺漂亮,现在我写的代码是有点乱,所以还是要学习下别人的编程模式
    2017-03-03

最新评论