JS获取鼠标坐标位置实例分析
作者:bea
本文实例分析了JS获取鼠标坐标位置的方法。分享给大家供大家参考,具体如下: 取鼠标坐标位置有这些:鼠标在视口的坐标位置(clientX,clientY),鼠标在页面的坐标位置(pageX,pageY),鼠标在屏幕的坐标位置(screenX,screenY),其中鼠标在视口的坐标位置(clientX,clientY),以及鼠标在屏幕的坐标位置(screenX,screenY)在所有的浏览器中都支持,但是鼠标在页面的坐标位置(pageX,pageY)在IE8及更早版本不支持,但是
本文实例分析了JS获取鼠标坐标位置的方法。分享给大家供大家参考,具体如下:
取鼠标坐标位置有这些:鼠标在视口的坐标位置(clientX,clientY),鼠标在页面的坐标位置(pageX,pageY),鼠标在屏幕的坐标位置(screenX,screenY),其中鼠标在视口的坐标位置(clientX,clientY),以及鼠标在屏幕的坐标位置(screenX,screenY)在所有的浏览器中都支持,但是鼠标在页面的坐标位置(pageX,pageY)在IE8及更早版本不支持,但是没有关系,可以通过scrollLeft 和 scrollTop可以计算出pageX,pageY的值。
首先是跨浏览器的事件对象
var EventUtil = {
addHandler:function(elem,type,handler){
if(elem.addEventListener)
{
elem.addEventListener(type,handler,false);
}else if(elem.attachEvent)
{
elem.attachEvent("on"+type,handler);
}else
{
elem["on"+type]=handler;
}
},
removeHandler:function(elem,type,handler){
if(elem.removeEventListener)
{
elem.removeEventListener(type,handler,false);
}else if(elem.detachEvent)
{
elem.detachEvent("on"+type,handler);
}else
{
elem["on"+type]=null;
}
},
getEvent:function(event){
return event?event:window.event;
},
getTarget:function(event){
return event.target||event.srcElement;
},
preventDefault:function(event){
if(event,preventDefault){
event.preventDefault();
}else{
event.returnValue = false;
}
},
stopPropagation:function(event){
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancelBubble=true;
}
}
};
1.视口坐标位置
var div = document.getElementById("myDiv");
EventUtil.addHandler(div,"click",function(event){
event = EventUtil.getEvent(event);
alert("Client coordinages: "+event.clientX+","+event.clientY);
});
2.屏幕坐标位置
var div = document.getElementById("myDiv");
EventUtil.addHandler(div,"click",function(event){
event = EventUtil.getEvent(event);
alert("Screen coordinates: "+event.screenX+","+event.screenY);
});
3.页面坐标位置
var div = document.getElementById("myDiv");
EventUtil(div,"click",function(event){
event = EventUtil.getEvent(event);
var pageX = event.pageX;
var pageY = event.pageY;
if(pageX==undefined)
{
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);
});
更多关于JavaScript鼠标操作相关内容感兴趣的读者可查看本站专题:《JavaScript鼠标操作技巧汇总》
希望本文所述对大家JavaScript程序设计有所帮助。
猜你喜欢
您可能感兴趣的文章:
- jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
- jQuery validate插件submitHandler提交导致死循环解决方法
- jQuery prototype冲突的2种解决方法(附demo示例下载)
- jquery mobile开发常见问题分析
- json格式数据的添加,删除及排序方法
- jquery及js实现动态加载js文件的方法
- js console.log打印对像与数组用法详解
- JS遍历数组及打印数组实例分析
- js采用concat和sort将N个数组拼接起来的方法
- 如何用angularjs制作一个完整的表格
- angularjs自定义ng-model标签的属性
- angularjs在ng-repeat中使用ng-model遇到的问题
- js实现的二分查找算法实例
- jQuery模拟物体自由落体运动(附演示与demo源码下载)
- angularjs表格分页功能详解
- 使用angularjs创建简单表格
- Jquery中巧用Ajax的beforeSend方法
- Javascript中神奇的this
- javascript实现图片轮播效果