您的位置:首页 > Web前端 > JavaScript

js获取鼠标点击的位置-火狐IE兼容

2012-10-16 13:10 585 查看
此处说的位置不是准确的鼠标位置,而是鼠标点击的元素的起点儿位置。

在方法外定义clickX和clickY是为了全局使用,可根据实际情况定义。

程序员群:134994493 欢迎正在从事开发的程序员朋友及已经已经走出开发但仍有能力开发设计程序的朋友加入本群

var clickX;
var clickY;
//获取事件
function getEvent() {
if (document.all) {
return window.event;// 如果是ie
}
func = getEvent.caller;
while (func != null) {
var arg0 = func.arguments[0];
if (arg0) {
if ((arg0.constructor == Event || arg0.constructor == MouseEvent)
|| (typeof(arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {
return arg0;
}
}
func = func.caller;
}
return null;
}
//在此函数中给clickX和clickY赋值
function getClickPosition(){
var evt=getEvent();
if(null!=evt){
var el=evt.target||evt.srcElement;
var top=0;
var left=0;
while(el){//递归求元素所在页面的位置
top+=el.offsetTop;//el.offsetTop的值是el元素的上起始位置相对于父元素的上起始位置的差值,所以需要递归相加

left+=el.offsetLeft;
el=el.offsetParent;
}

clickX=left;
clickY=top;

}else{
//为null时的默认操作
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: