在开发过程中。有时候会获取鼠标当前的坐标,主要分为三种,第一种是获取鼠标在屏幕中的坐标,第二种是获取鼠标在客户区中的坐标,第三种是获取鼠标在窗口页面中的坐标。
分别用的方法名称为screenX和screenY,clientX和clientY,pageX和pageY。
clientX/clientY
clientX | 返回事件触发时鼠标相对于元素视口?的X坐标 | 数值 |
clientY | 返回事件触发时鼠标相对于元素视口?的Y坐标 | 数值 |
这里的元素视口实际上代指就是浏览器,clientX是鼠标距离浏览器左边框的距离,clientY是鼠标距离浏览器上边框的距离。当鼠标停留在页面某个位置时,滚动鼠标滚动条,坐标会随着鼠标滚动条的改变而改变。
screenX/screenY
screenX | 返回事件触发时鼠标相对于屏幕?的X坐标 | 数值 |
screenY | 返回事件触发时鼠标相对于屏幕?的Y坐标 | 数值 |
顾名思义,screenX是鼠标距离显示器屏幕左边框的距离,screenY是鼠标距离显示器屏幕上边框的距离。
pageX/pageY
pageX | 返回事件触发时鼠标相对于文档?的X坐标 | 数值 |
pageY | 返回事件触发时鼠标相对于文档?的Y坐标 | 数值 |
如果鼠标停留在网页中的某个位置,滚动鼠标滚动条,pageY不会因为鼠标滚动的滚动而改变。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script language="javascript" src="${pageContext.request.contextPath}/script/jquery.js"></script> <script type="text/javascript"> $(document).ready(function() { $(document).mousemove(function(e) { getScreenCoordinates(e);//获取鼠标在屏幕中的坐标 getClientCoordinates(e);//获取鼠标在窗口客户区中的坐标,会随着滚动条的滚动而变化 getPageCoordinates(e);//获取鼠标当前页面区域中的坐标,不会随滚动条滚动而变化 }); function getScreenCoordinates(e) { x1 = e.screenX; y1 = e.screenY; $(".sp1").text("X1:" + x1 + ",Y1:" + y1); } function getClientCoordinates(e) { x2 = e.clientX; y2 = e.clientY; $(".sp2").text("X2:" + x2 + ",Y2:" + y2); } function getPageCoordinates(e) { x3 = e.pageX; y3 = e.pageY; $(".sp3").text("X3:" + x3 + ",Y3:" + y3); } }); </script> </head> <body> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p> 鼠标当前屏幕的坐标为:<span class="sp1"></span> </p> <p> 鼠标当前窗口客户区坐标为:<span class="sp2"></span> </p> <p> 鼠标当前页面区域中的坐标为:<span class="sp3"></span> </p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p> </body> </html>?
原文:http://673390302.iteye.com/blog/2301621