我刚遇到clientX和clientY的一个小问题。
我放了一个小事件来检测鼠标是否离开窗户并知道它何时退出。有麻烦,它与firefox一起工作正常,但只在IE中发送-1作为答案。有人知道是否有办法轻松解决这个问题而且没有使用框架?
重现一点代码:
<html>
<head>
<script type="text/javascript">
document.onmouseout=function(e){
if (!e) var e = window.event;
var relTarg = e.relatedTarget || e.toElement;
if (!relTarg){
document.getElementById('result1').innerHTML="e.clientY:"+e.clientY+" e.clientX:"+e.clientX;
}
};
</script>
</head>
<body>
<div id="result1">Not Yet</div>
</body>
</html>
如果我从窗口左侧退出的结果是:
e.clientY:302 e.clientX:-1000 on firefox
e.clientY:-1 e.clientX:-1 on ie。
提前致谢。
答案 0 :(得分:0)
嗯,不管怎样,e.clientX&lt; 0表示光标在窗口外?
答案 1 :(得分:0)
if(e.pageX)
{
_xmouse = e.pageX;
_ymouse = e.pageY;
}
else
{
if(typeof(event) == "undefined") return;
_xmouse = event.clientX + document.body.scrollLeft;
_ymouse = event.clientY + document.body.scrollTop;
}
来自我的项目。认为这就是你需要的东西