【问题标题】:Why does the event handler throws an error in Firefox? [duplicate]为什么事件处理程序会在 Firefox 中引发错误? [复制]
【发布时间】:2018-08-17 20:13:46
【问题描述】:

下面的 sn-p 在 Google Chrome 浏览器中运行良好,但如果我在 Firefox 中运行它会抛出一个错误,提示 event is not defined。 是什么导致了这个问题?

document.getElementById("btn").addEventListener("click", function() {
  console.log(event.target.id)
});
<input type="button" id="btn" value="Click Me">

【问题讨论】:

  • 您尚未命名隐式传递给处理程序的event
  • @connexo — 那是因为他们使用的是非标准的全局变量。

标签: javascript events


【解决方案1】:

全局变量event 是非标准的,Firefox 不支持。

改为通过标准方法(事件处理程序的第一个参数)访问事件对象。

document.getElementById("btn").addEventListener("click", function(event) {
  console.log(event.target.id)
});
<input type="button" id="btn" value="Click Me">

【讨论】:

    猜你喜欢
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多