欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

JavaScript如何获取鼠标点击的位置?获取的三种方法汇总

程序员文章站 2022-05-20 13:17:09
...
其实我们一直都在dom中和元素打交道,这也是手机交互的一个比较常用的方面,但是很多程序员比较失望,在不同的浏览器中,会出现不同的结果,下面我们就来讲一下利用js如何获取鼠标点击的位置,并且为您总结详细的教程。

JavaScript如何获取鼠标点击的位置?获取的三种方法汇总

一:鼠标相对于屏幕

如果我们涉及在鼠标点击的位置,比较简单的话,我们就可以获取鼠标点击之后,利用screenX,screenY来确定点击的大致位置,从而判断出与屏幕的上边距和下边距的相对位置,我们不要考虑iframe等一些因素,但是在不同的浏览器中,表现还是很相同的。

例:

function getMousePos(event) {             
     var e = event || window.event;             
      return {'x':e.screenX,'y':screenY}  
}

二:鼠标相对于浏览器的窗口

如果通过以上简单的代码来确定位置,往往这些都还不够,因为在大致的情况下,我们需要得到鼠标相对于浏览器窗口的坐标,分别获取到鼠标现对于窗口的的上边距和左边距,可以利用clientX,clientY表示。

例如:

function getMousePos(event) {              
     var e = event || window.event;              
     return {'x':e.clientX,'y':clientY} 
}

三:鼠标相对于文档

我们可以利用clientX与clientY来得到当前浏览器窗口的坐标,但是这些条件都是由限制的,当我如出现在页面的滚动的情况下,那么相对于文档的坐标怎么办呢,这时候我们只要加上滚动的位移就可以了。

例如:

function getMousePos(event) {
    var e = event || window.event;
    var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
    var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
    var x = e.pageX || e.clientX + scrollX;
    var y = e.pageY || e.clientY + scrollY;
    //alert('x: ' + x + '\ny: ' + y);
    return { 'x': x, 'y': y };
}

目前火狐浏览器的问题会简单的多,因为火狐支持pageX,与pageY这两个属性,已经把页面滚动计算在内了。

以上就是对JavaScript如何获取鼠标点击的位置?获取的三种方法汇总的全部介绍,如果你想了解更多有关JavaScript视频教程,请关注。

以上就是JavaScript如何获取鼠标点击的位置?获取的三种方法汇总的详细内容,更多请关注其它相关文章!