2010-02-12 59 views

回答

3

简短的回答:没有

长的答案:是的。 onload事件不提供有关鼠标位置的信息,但是您可以在onload触发时设置变量,并且在文档加载后鼠标移动后立即使用文档上的onmousemove事件来获取鼠标位置(在变量之后已经设置好了)。不是你想要的,但是。

+0

不认为这是可能的,但我想也许有人知道一个黑客。感谢您的验证。 – gatapia

+0

为什么这些信息不公开?在onfocus事件中获取鼠标信息也很好。 – nornagon

+0

@nornagon,可能是因为它不是特别相关。还有其他方法可以将元素进行聚焦(例如,使用制表键或触摸屏)。鼠标数据仅适用于鼠标相关事件,如onmousemove或onmouseover。也就是说,你可以听onclick事件的焦点(但onclick不保证焦点)。更好的是,使用这两个事件处理程序并使用临时的,特定于元素的存储机制(如html5数据)来跟踪事件。 –

1

你可以尝试这样的:

<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>