var mouse = function(e){
var x = e.pageX || (e.clientX + document.body.scrollLeft);
var y = e.pageY || (e.clientY + document.body.scrollTop);
alert(x + " " + y);
};
window.onload = function(e) {
if(!e) { var e = window.event; }
mouse(e);
};
这适用于IE,我得到正确的鼠标x和y坐标。然而,当在其他东西中运行时,我只是得到一个警告“NaN NaN”
(我试过搜索)
答案 0 :(得分:3)
对我而言,这在很多方面都是错误的。我想你想要onmousemove而不是onload - 可能是document.onmousedown - 并且你不想提醒。而是改变一些innerHTML或document.title
您想要点击还是移动?
document.onmousemove = function(e){
var x = e.pageX || (e.clientX + document.body.scrollLeft);
var y = e.pageY || (e.clientY + document.body.scrollTop);
document.title=x + " " + y;
};
另请看这里
Responding to the onmousemove event outside of the browser window in IE
答案 1 :(得分:1)
这是因为大多数浏览器中的加载事件没有clientX和clientY属性。
将onload功能更改为以下内容:
window.onload = function (e) {
if (!e) {
var e = window.event;
}
alert("type is " + e.type + " clientX is " + e.clientX);
mouse(e);
};
你会看到,对于非IE浏览器,该类型是一个加载事件,但是clientX未定义。