js获取鼠标位置(兼容 Firefox 3.6, Opera 10.10, Chrome 4.1)

js获取鼠标位置(兼容 Firefox 3.6, Opera 10.10, Chrome 4.1)

<script language="网页特效">
function document.onmouseo教程ver()
{
  document.all("txtbox").value=event.screenX+"x"+event.screenY;
}

private void Button1_Click(object sender, System.EventArgs e)
{
this.TextBox1.Text=txtbox.Value;
}

完整实例


**
 * 获取鼠标在页面上的位置
 * @param ev  触发的事件
 * @return   x:鼠标在页面上的横向位置, y:鼠标在页面上的纵向位置
 */
function getMousePoint(ev) {
 // 定义鼠标在视窗中的位置
 var point = {
  x:0,
  y:0
 };
 
 // 如果浏览器支持 pageYOffset, 通过 pageXOffset 和 pageYOffset 获取页面和视窗之间的距离
 if(typeof window.pageYOffset != 'undefined') {
  point.x = window.pageXOffset;
  point.y = window.pageYOffset;
 }
 // 如果浏览器支持 compatMode, 并且指定了 DOCTYPE, 通过 documentElement 获取滚动距离作为页面和视窗间的距离
 // IE 中, 当页面指定 DOCTYPE, compatMode 的值是 CSS1Compat, 否则 compatMode 的值是 BackCompat
 else if(typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
  point.x = document.documentElement.scrollLeft;
  point.y = document.documentElement.scrollTop;
 }
 // 如果浏览器支持 document.body, 可以通过 document.body 来获取滚动高度
 else if(typeof document.body != 'undefined') {
  point.x = document.body.scrollLeft;
  point.y = document.body.scrollTop;
 }
 
 // 加上鼠标在视窗中的位置
 point.x += ev.clientX;
 point.y += ev.clientY;
 
 // 返回鼠标在视窗中的位置
 return point;
}
IE 以外的浏览器 (本人测试过 Firefox 3.6, Opera 10.10, Chrome 4.1 和 Safari 4.0.4) 均可以通过 pageXOffset 和 pageYOffset 来获取页面和视窗间的横纵距离. 但 IE (本人测试过 IE6, IE7, IE8) 只能通过滚动位移来获取页面和视窗间的距离, 并存在一到两个像素的偏离.

再看个应用实例html+js

<html>
<head>
<script language="javascript" type="text/javascript">
<!--
var domType = '';
if (document.all) {
 domType = "ie4";
} else if (document.getElementById) {
 domType = "std";
} else if (document.layers) {
 domType = "ns4";
}
function initMouseMove(){
 if(!document.all){
  document.captureEvents(Event.MOUSEMOVE);
 }
 document.onmousemove = mouseMove;
}
function mouseMove(e){
 var x,y;
 if(!document.all){
  fetch_object("txt").value="move";
  x=e.pageX;
  y=e.pageY;
 }else{
  x=document.body.scrollLeft+event.clientX;
  y=document.body.scrollTop+event.clientY;
 }
 fetch_object("txt").value=x+":"+y;
}
var objects=new Array();

function fetch_object(idname, forcefetch) {
 if (forcefetch || typeof(objects[idname]) == "undefined") {
  switch (domType) {
   case "std": {
    objects[idname] = document.getElementById(idname);
   }
   break;

   case "ie4": {
    objects[idname] = document.all[idname];
   }
   break;

   case "ns4": {
    objects[idname] = document.layers[idname];
   }
   break;
  }
 }
 return objects[idname];
}
-->
</script>
<title>get mouse position</title>
</head>
<body onload="initMouseMove()">
<input id="txt"/>
</body>
</html>

-------------------------------------------------------------------------------------------------
总的来说:
x=document.body.scrollLeft+event.clientX; //获取当前鼠标位置的X坐标
y=document.body.scrollTop+event.clientY; //获取当前鼠标位置的Y坐标

 

时间: 2024-09-20 06:27:35

js获取鼠标位置(兼容 Firefox 3.6, Opera 10.10, Chrome 4.1)的相关文章

基于JavaScript获取鼠标位置的各种方法_javascript技巧

在一些DOM操作中我们经常会跟元素的位置打交道,鼠标交互式一个经常用到的方面,令人失望的是不同的浏览器下会有不同的结果甚至是有的浏览器下没结果,这篇文章就上鼠标点击位置坐标获取做一些简单的总结,没特殊声明代码在IE8,FireFox,Chrome下进行测试兼容 鼠标点击位置坐标 相对于屏幕 如果是涉及到鼠标点击确定位置相对比较简单,获取到鼠标点击事件后,事件screenX,screenY获取的是点击位置相对于屏幕的左边距与上边距,不考虑iframe因素,不同浏览器下表现的还算一致. functi

JS获取鼠标坐标位置实例分析_javascript技巧

本文实例分析了JS获取鼠标坐标位置的方法.分享给大家供大家参考,具体如下: 取鼠标坐标位置有这些:鼠标在视口的坐标位置(clientX,clientY),鼠标在页面的坐标位置(pageX,pageY),鼠标在屏幕的坐标位置(screenX,screenY),其中鼠标在视口的坐标位置(clientX,clientY),以及鼠标在屏幕的坐标位置(screenX,screenY)在所有的浏览器中都支持,但是鼠标在页面的坐标位置(pageX,pageY)在IE8及更早版本不支持,但是没有关系,可以通过s

JS获取鼠标相对位置的方法_javascript技巧

本文实例讲述了JS获取鼠标相对位置的方法.分享给大家供大家参考,具体如下: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"/> <title>位置</title> <script language="javascript" type="text/javascript"&

JS获取鼠标坐标、获取鼠标像素点示例

 运行代码之后随意移动鼠标的位置,可适时显现鼠标的坐标点,不占用系统资源 JS获取鼠标坐标,获取鼠标像素点的典型实例,运行本页面后,随意移动鼠标的位置,可适时显现鼠标的坐标点,不占用系统资源 .    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <h

js判断鼠标位置是否在某个div中的方法_javascript技巧

本文实例讲述了js判断鼠标位置是否在某个div中的方法.分享给大家供大家参考,具体如下: div的onmouseout事件让div消失时,会出现这样的情况,就是当鼠标移至div中的其它内容时,此时也判定为离开div,会触发 onmouseout事件,这样div中的内容就不能操作了.解决的办法是当触发onmouseout事件时,先判断鼠标是否在div内,如果在,说明鼠 标并没有离开div,就不删除div,否则,删除之.OK,现在问题解决了. 就是找到该div左上角和右下角坐标,判断鼠标的坐标是否在

js获取鼠标选中的内容代码

结果是写出来了,之前写的时候不兼容火狐,后来看到帖子楼上的一个方法,测试了一下兼容性很好,就引用了: 具体方法我已经整理成文件,可以预览查看效果,也可以直接下载浏览源码:  代码如下 复制代码 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo

javascript获取鼠标位置部分火狐,ie

var xPos;  var yPos;  document.onmousemove = mouseMove;          function mouseMove(ev) {              ev = ev  window.event;              var mousePos = mouseCoords(ev);              xPos = mousePos.x;              yPos = mousePos.y;          }     

JS获取鼠标坐标的实例方法

这篇文章介绍了JS获取鼠标坐标的实例方法,有需要的朋友可以参考一下   复制代码 代码如下: var restrictX;  var restrictY;  var tip;  // 鼠标坐标   function mousePosition(ev) {  return {          x : ev.clientX + document.documentElement.scrollLeft - document.documentElement.clientLeft,          y

获取鼠标位置

问题描述 如何获取鼠标位置.当鼠标移动到图片上时,DIV显示在鼠标的位置,而且鼠标移动,DIV也随之移动. 解决方案 解决方案二:楼主,这个可以么?<html><head><scriptlanguage="JavaScript">functiongetDetails(obj){clickX=window.event.x-obj.offsetLeft;clickY=window.event.y-obj.offsetTop;alert(clickX);a