据说如果我们将事件监听器用作:

document.getElementById("mybtn").addEventListener("click". function(/* event */){...});


那么我们不需要在函数的括号内提到event参数。但是,如果是这样,那么为什么不进行以下工作:

 document.getElementById("mybtn").addEventListener("click". function(/* event */){ event.preventDefault()});

最佳答案

这不是真的。只要event不是保留关键字,就不能像这样正式实现。

因为人们可以做到:

document.getElementById("mybtn")
.addEventListener("click",function(troll,event) {
  event.preventDefault(); // Boom! error.
});


并且抱怨事件不起作用。然后,有必要记录人们不应该使用event对象的方式。

某些浏览器可能具有全局事件对象。但是实现方式各不相同,因此不建议依赖这些东西。

10-05 20:53