Javascript Firefox中的window.event替代方案

Javascript Firefox中的window.event替代方案,javascript,firefox,Javascript,Firefox,我看到window.event或event在Firefox中不起作用,所以我需要其他选项。我不想设置任何HTML属性,只想设置Javascript。 我在这个函数中,我想从这里获取鼠标坐标: document.onmouseover = function(){ var mouseX = event.clientX; var mouseY = event.clientY; } 显然,这在firefox中不起作用,所以我想知道如何做到这一点。window.event您指的是一个全局

我看到window.event或event在Firefox中不起作用,所以我需要其他选项。我不想设置任何HTML属性,只想设置Javascript。 我在这个函数中,我想从这里获取鼠标坐标:

document.onmouseover = function(){
    var mouseX = event.clientX;
    var mouseY = event.clientY;
}
显然,这在firefox中不起作用,所以我想知道如何做到这一点。

window.event您指的是一个全局对象,并非在所有浏览器中都可用

document.addEventListener("mouseover", function(evt){
    var mouseX = evt.clientX;
    var mouseY = evt.clientY;
}, false);

这是一种典型的方法,你可以在各地的例子中找到

document.onmouseover = function(event) {
    event = event || window.event;

    var mouseX = event.clientX;
    var mouseY = event.clientY;
}

W3C检索事件对象的标准方法是通过第一个函数参数。旧的IE不支持这种方法,所以事件将是未定义的。在这种情况下,| |运算符允许我们获取window.event对象。

很好,但该代码在提问者可能必须支持的Internet Explorer 8或更低版本上不起作用。@FrédéricHamidi确实如此。我有点盲目地只回答firefox特定的问题。OP:请参阅window.attachEvent以了解旧版IE支持。答案很好,因为问题的特殊性,我会在答案中添加IE8注释though@SmaxSmaxovi奇:太慢了?你是怎么得出这个结论的?为什么这个问题要记下来?这是一个合理的编程问题,答案很简单。