是否可以在文档加载事件中获取鼠标光标的位置。(在javascript中)

是否可以在文档加载事件中获取鼠标光标的位置。(在javascript中),javascript,javascript-events,Javascript,Javascript Events,只是想知道是否有可能从文档的onload事件(在任何mousemove事件之前)获取鼠标的x/y位置 谢谢 Guido简短回答:否 长回答:是的。onload事件不提供有关鼠标位置的信息,但是您可以在启动onload时设置一个变量,并在文档加载后(设置变量后)鼠标移动时,使用文档上的onmousemove事件获取鼠标位置。不过,这不是您想要的。您可以尝试以下方法: <html> <head> <meta http-equiv="Content-Type" conte

只是想知道是否有可能从文档的onload事件(在任何mousemove事件之前)获取鼠标的x/y位置

谢谢

Guido

简短回答:否


长回答:是的。onload事件不提供有关鼠标位置的信息,但是您可以在启动onload时设置一个变量,并在文档加载后(设置变量后)鼠标移动时,使用文档上的onmousemove事件获取鼠标位置。不过,这不是您想要的。

您可以尝试以下方法:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript">
function SetValues() {
  var IE = document.all?true:false;
  if (!IE) document.captureEvents(Event.MOUSEMOVE)
  getMouseXY();
  var mX = 0;
  var mY = 0;
  function getMouseXY(e) {
    if (IE) {
      mX = event.clientX + document.body.scrollLeft;
      mY = event.clientY + document.body.scrollTop;
    }
    else {
      mX = e.pageX;
      mY = e.pageY;
    }  

    var s = 'X=' + mX +  ' Y=' + mY ;
    document.getElementById('divCoord').innerHTML = s;
    return true;
  }
}
</script></head>
<body onload=SetValues()>
<div id="divCoord"></div>
</body></html>

函数SetValues(){
var IE=文件。全部?真:假;
if(!IE)document.captureEvents(Event.MOUSEMOVE)
getMouseXY();
var-mX=0;
var-mY=0;
函数getMouseXY(e){
如果(即){
mX=event.clientX+document.body.scrollLeft;
mY=event.clientY+document.body.scrollTop;
}
否则{
mX=e.pageX;
mY=e.pageY;
}  
变量s='X='+mX+'Y='+mY;
document.getElementById('divCoord')。innerHTML=s;
返回true;
}
}

我认为这是不可能的,但我想可能有人知道一个黑客。感谢您的验证。是否有原因不公开此信息?在onfocus事件中获取鼠标信息也很好。@nornagon,可能是因为它不是特别相关。还有其他方法可以聚焦元素(例如,使用tab键或触摸屏)。鼠标数据仅在与鼠标相关的事件(如onmousemove或onmouseover)中可用。也就是说,您可以收听onclick事件以获得焦点(但onclick不能保证焦点)。更好的方法是,同时使用事件处理程序和一个临时的、特定于元素的存储机制(如html5数据)来跟踪事件。这对于用户移开alt Tab、移动鼠标和将alt Tab移回时没有帮助。用例:我希望空格键像鼠标按钮一样工作。