js获取鼠标点击的位置实现思路及代码
copy来的,但是原页面的代码还是需要修改,下面是修改可用的
常用的是 event.clientX和event.clientY分别获取横向的和纵向的位置,但仅使用这个方法是不够的,因为event.clientX和event.clientY获取的鼠标位置是相对于当前屏幕的,而不考虑页面的滚动条所滚动的距离。
代码如下:
function pointerX(event)
{
return event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));
}
function pointerY(event)
{
return event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop));
}
两个方法分别获得相对整个页面(而不是屏幕)的鼠标位置
event.pageX是在FF中所支持的,这样就实现了跨浏览器操作
function getPointPosition(event)
{
var x_px_scr = event.clientX;
var y_px_scr = event.clientY;
alert("相对于当前屏幕的X轴偏移量" + x_px_scr);<span style="font-family: tahoma, helvetica, arial;">//相对于设备(PC或移动设备)</span>
alert("相对于当前屏幕的Y轴偏移量" + y_px_scr);//相对于设备(PC或移动设备)
var x_Px_page = pointerX(event);
var y_Px_page = pointerY(event);
alert("相对于整个页面的X轴偏移量" + x_Px_page); //相对于浏览器
alert("相对于整个页面的Y轴偏移量" + y_Px_page); //相对于浏览器
}
相关推荐
-
JavaScript取得鼠标绝对位置程序代码介绍
首先不同浏览器中event位置属性的分析: 1. IE的event.x,event.y是以事件触发元素的父元素外界为参考点(不包括滚动距离) 2. Firefox的event.pageX,event.pageY是以body元素为参考点(包括滚动距离) 3. event.clientX,event.clientY以浏览器左上角为参考点(不包括滚动距离) 4. IE的event.offsetX,event.offsetY和Firefox的event.layerX,event.layerY以事件触发元
-
js获取鼠标位置实例详解
本文实例讲述了js获取鼠标位置的方法.分享给大家供大家参考,具体如下: 用 javascript 获取当前页面上鼠标(光标)位置在许多情况下都会用到,比如拖放,悬停提示(tooltip) 等等.当然,这里我们依然要面对浏览器的兼容问题,在不同的浏览器下,对这些相关的属性处理方式也不同,这里详细介绍了浏览器在处理这些属性时的差异和最终的解决方法. Javascript代码如下: <script type="text/javascript"> // 说明:获取鼠标位置 // 整
-
JS获得鼠标位置(兼容多浏览器ie,firefox)脚本之家修正版
JS获得鼠标位置(兼容多浏览器ie,firefox)我们修正版 function mouseMove(ev) { ev= ev || window.event; var mousePos = mouseCoords(ev); //alert(ev.pageX); document.getElementById("xxx").value = mousePos.x; document.getElementById("yyy").value = mousePos.y; }
-
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去的高:document.body.scr
-
js获取鼠标位置杂谈附多浏览器兼容代码
其实获得鼠标位置就是一句话的事情,但是要是不了解浏览器间的区别,整个过程就会让人很郁闷,区别在与: 1.IE下获得x和y轴的距离分别用event.x和event.y: FF下获得x和y轴的距离分别用event.pageX和event.pageY: 2.IE下用此方法获得的位置是不算滚动条滚过的位置的,即它只会算到浏览器边缘: FF则会算进滚过去的那些位置: (这个地方很让我崩溃,为这么点小区别我把所有用到的程序全部重写了一遍,囧死--) 解决1的办法,无非是判断一下浏览器,然后用什么方式: 解决
-
JavaScript中获取鼠标位置相关属性总结
javascript并没有mouse对象,获取鼠标坐标要靠强大的event对象. 我们通过监听document的mousemove,就可以实时获得鼠标位置. 但是!!event中和鼠标相关的属性太多了,很让人头大!如下: event.layerX event.layerY event.clientX event.clientY event.pageX event.pageY event.offsetX event.offsetY event.screenX event.screenY event
-
JS实现窗口加载时模拟鼠标移动的方法
本文实例讲述了JS实现窗口加载时模拟鼠标移动的方法.分享给大家供大家参考.具体实现方法如下: function judge(){ alert("mousemove"); document.onmousemove = null;//撤销鼠标移动模拟 } function simulateMouseMove(){//模拟鼠标移动 document.onmousemove = judge; } window.onload=simulateMouseMove;//窗口加载 希望本文所述对大家的
-
基于JavaScript实现 获取鼠标点击位置坐标的方法
在一些DOM操作中我们经常会跟元素的位置打交道,鼠标交互式一个经常用到的方面,令人失望的是不同的浏览器下会有不同的结果甚至是有的浏览器下没结果,这篇文章就上鼠标点击位置坐标获取做一些简单的总结,没特殊声明代码在IE8,FireFox,Chrome下进行测试兼容 鼠标点击位置坐标相对于屏幕 如果是涉及到鼠标点击确定位置相对比较简单,获取到鼠标点击事件后,事件screenX,screenY获取的是点击位置相对于屏幕的左边距与上边距,不考虑iframe因素,不同浏览器下表现的还算一致. 复制代码 代码
-
javascript之鼠标拖动位置互换效果代码
鼠标拖动,位置互换效果,主要用于div,提高用户体验等方面 div.box{ position:relative; padding:5px; background-color:#000; width:300px; height:300px; overflow:hidden; } div.box div.item{ float:left; width:90px; height:90px; background-color:#ccc; margin:5px; position:relative; c
-
JS获取鼠标位置距浏览器窗口距离的方法示例
本文实例讲述了JS获取鼠标位置距浏览器窗口距离的方法.分享给大家供大家参考,具体如下: 先来看看运行效果图: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #test_div { width:400px; height: 400px;
-
firefox中用javascript实现鼠标位置的定位
/** * 取得鼠标坐标 * @return Position */ function getMouseLocation(){ if(ns4||ns6){ mouseX = e.pageX; mouseY = e.pageY; } else{ mouseX = event.x + document.body.scrollLeft; mouseY = event.y + document.body.scrollTop; } return {x:mouseX,y:mouse
-
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
一.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢? 首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种比较方便的方法: 第一种方法,利用圆和反正切三角函数 如下图所示: 以div容器的中心点作为圆心,以高和宽的最小值作为直径画圆,将圆以[π/4,3π/4),[3π/4,5π/4),[5π/4,7π/4),[-π/4,π/4)划分为四个象限. 代码如下: $(".box").on(&quo
随机推荐
- jQuery如何用正则表达式验证手机号、身份证号、中文名称
- flex调用webservice中的自定义类的方法
- SQL2005 高效分页sql语句
- jQuery实现鼠标悬停3d菜单展开动画效果
- AngularJS服务service用法总结
- java基于AspectJ(面向切面编程)编码示例分享
- 浅谈Java变量的初始化顺序详解
- python中子类调用父类函数的方法示例
- 限制复选框最多选择项的实现代码
- JavaScript设计模式之单例模式详解
- Javascript闭包(Closure)详解
- ASP.NET中生成Excel遇到的问题及改进方法
- 利用Laravel事件系统如何实现登录日志的记录详解
- android LinearLayout 布局实例代码
- Python中常见的数据类型小结
- GetChar缓存机制深入剖析
- C++ 中的this指针详解及实例
- Android Mms之:联系人管理的应用分析
- js与applet相互调用的方法
- jQuery增加自定义函数的方法