Javascript 为什么我的代码中的event.target可以';你不能在firefox中运行吗?

Javascript 为什么我的代码中的event.target可以';你不能在firefox中运行吗?,javascript,Javascript,为什么我的代码中的event.target不能在firefox中运行 <script> document.onmousedown = function(){ var e = window.event; var target = e.srcElement || e.target || e.currentTarget; if(target.className == 'box'){ alert("Yeah"); } }

为什么我的代码中的event.target不能在firefox中运行

 <script> 
    document.onmousedown = function(){
     var e = window.event;
     var target = e.srcElement || e.target || e.currentTarget;
     if(target.className == 'box'){
     alert("Yeah");
     }
     }
    </script>



<body>
  <div class="box" style="border:1px dotted #CC3366; width:300px; height:100px;">Click Me!!</div>
  <a href="#" class="box">Link</a>
 </body>

document.onmousedown=函数(){
var e=window.event;
var target=e.src元素| | e.target | | e.currentTarget;
如果(target.className=='box'){
警惕(“耶”);
}
}
点击我!!

它可以在IE或Chrome中运行,但不能在firefox中运行。

firefox要求将事件明确定义为处理程序的参数

你可以这样写:

document.onmousedown = function(e) {
    e = e || window.event;
    var target = e.srcElement || e.target || e.currentTarget;
    if (target.className == "box") {
        alert("Yeah");
    }
};

Firefox要求将事件显式定义为处理程序的参数

你可以这样写:

document.onmousedown = function(e) {
    e = e || window.event;
    var target = e.srcElement || e.target || e.currentTarget;
    if (target.className == "box") {
        alert("Yeah");
    }
};

Firefox不支持window.event,因为它不是任何标准的一部分,所以在事件标准化之前,Microsoft将其创建为其专有事件模型的一部分

忘记这些不同。这就是JSDOM库开始创建的原因,它们使大多数处理DOM的任务变得更加容易,并且消除了事件模型和其他事物在实现上的差异

例如,代码可以用as重写


一般来说,将事件附加到文档或正文是一个坏主意。此jQuery代码查找具有
.box
类的任何元素,并将
鼠标向下
处理程序直接附加到这些元素。

Firefox不支持
窗口。事件
因为它不是任何标准的一部分,所以Microsoft在事件标准化之前将其作为其专有事件模型的一部分创建

忘记这些不同。这就是JSDOM库开始创建的原因,它们使大多数处理DOM的任务变得更加容易,并且消除了事件模型和其他事物在实现上的差异

例如,代码可以用as重写

一般来说,将事件附加到文档或正文是一个坏主意。此jQuery代码查找具有
.box
类的任何元素,并将
mousedown
处理程序直接附加到它们