我已经将焦点监听器附加到窗口(使用原型语法):
Event.observe( window, 'focus', focusCb.bindAsEventListener( this ) );
我想确定窗口聚焦时的鼠标位置.不幸的是,在我的focusCb方法中,我似乎无法访问pageX,pageY,clientX或clientY.
使用quirksmode代码:
function doSomething(e) {
var posx = 0;
var posy = 0;
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
// posx and posy contain the mouse position relative to the document
// Do something with this information
}
我总是得0,0.
我认为焦点事件会有鼠标位置信息.
>为什么焦点事件没有这些信息?
>更重要的是,当窗口聚焦时,我应该如何获得鼠标位置?
最佳答案 IE在
event object中有clientX和clientY;虽然它可能是唯一的一个.
是的,这看起来非常可怕.请参阅有关鼠标位置的this page部分.我认为他做了很彻底的检查工作.
好的,我看到你实际上已经在使用他的剧本了.叹.