Javascript IE8事件坐标
我似乎找不到一种方法来获取IE8中事件的坐标,它只会触发如下错误。。。“pageX未定义”、“clientX未定义”等,而它在其他浏览器中运行良好 这就是我想做的:Javascript IE8事件坐标,javascript,events,internet-explorer-8,coordinates,dom-events,Javascript,Events,Internet Explorer 8,Coordinates,Dom Events,我似乎找不到一种方法来获取IE8中事件的坐标,它只会触发如下错误。。。“pageX未定义”、“clientX未定义”等,而它在其他浏览器中运行良好 这就是我想做的: document.onmousemove=setcoord; function setcoord(e){ var xxcoord = e.pageX||(e.clientX+document.body.scrollLeft); var yycoord = e.pageY||(e.clientY+document.b
document.onmousemove=setcoord;
function setcoord(e){
var xxcoord = e.pageX||(e.clientX+document.body.scrollLeft);
var yycoord = e.pageY||(e.clientY+document.body.scrollTop);
}
是否有任何解决方法来获得鼠标位置?以下方法似乎有效。我不确定这样做是否正确:
var x=event.clientX;
var y=event.clientY;
这是正确的。说明:在IE9之前,Microsoft没有实现W3DOM事件模型。相反,他们使用了一个专有的事件模型:事件侦听器不接收任何参数;在全局
事件
对象上定义任何与事件相关的属性。一般的解决方案是添加e=e | | window.event代码>在事件侦听器的顶部。谢谢,我想我现在明白了,但是仍然存在一个问题,即e.clientX不考虑滚动,document.body.scrollLeft似乎在IE中也不起作用。。。我的意思是,如果我滚动窗口,它得到的不是绝对坐标,而是与viewport相关的坐标。aight,documentElement似乎可以工作。:)编辑:但它现在在chrome中不起作用。。。哦,不……是的。我发现前面的这个问题似乎与滚动问题有关