Javascript:IE8事件坐标

Ano*_*ous 5 javascript events javascript-events coordinates internet-explorer-8

我似乎找不到在IE8中获取事件坐标的方法,它只是触发错误,如... pageX undefined,clientX undefined等.虽然它可以在其他浏览器中找到.

这就是我想要做的事情:

document.onmousemove=setcoord;

function setcoord(e){
    var xxcoord = e.pageX||(e.clientX+document.body.scrollLeft);
    var yycoord = e.pageY||(e.clientY+document.body.scrollTop);
}
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方法来获得鼠标位置?..

Gra*_*tVS 7

以下似乎有效.我不确定它是否是正确的方法:

var x=event.clientX;
var y=event.clientY;
Run Code Online (Sandbox Code Playgroud)

  • 这是对的.说明:在IE 9之前,Microsoft没有实现W3 DOM事件模型.相反,他们使用专有的事件模型:事件监听器不接收任何参数; 任何与事件相关的属性都在全局`event`对象上定义.通用的解决方案是添加`e = e || window.event;`位于事件监听器的顶部. (2认同)
  • 谢谢,我想我现在得到它,仍有一个问题,虽然这是e.clientX不考虑滚动和document.body.scrollLeft似乎在IE中也不起作用...我的意思是如果我滚动窗口它不是绝对坐标而是与视口相关. (2认同)