function mousePosition(evt){
evt = evt || window.event;
//Mozilla
if(evt.pageX || evt.pageY){
return { x : evt.pageX,y : evt.pageY}
}
//IE
return {
x : evt.clientX + document.body.scrollLeft - document.body.clientLeft,
y : evt.clientY + document.body.scrollTop - document.body.clientTop
}
}
//获取X轴坐标
function getX(evt){
evt = evt || window.event;
return mousePosition(evt).x;
}
//获取Y轴坐标
function getY(evt){
evt = evt || window.event;
return mousePosition(evt).y;
}
//外部函数调用1
document.getElementById("x").onclick = function(evt){
alert(getX(evt))
}
//外部函数调用2
function showXY(evt){
evt = evt || window.event;
document.getElementById("n").innerHTML = ""+getX(evt);
}
window.onload = function(){
document.body.onmousemove = showXY;
}
1.在IE中,event对象是全局的,它被存储在window.event中,对于Firefox,及其他的浏览器来说,这个事件将被传递到任何指向这个页面动作的函数中。可以通过传递参数获取。
evt.clientX + document.body.scrollLeft - document.body.clientLeft //在IE中获得
关键词:JavaScript,坐标