据说如果我们将事件监听器用作:
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
对象的方式。某些浏览器可能具有全局事件对象。但是实现方式各不相同,因此不建议依赖这些东西。