适用于Firefox事件目标的非jQuery解决方案

时间:2013-03-18 01:12:07

标签: javascript firefox

在学习jQuery之前,我正在尝试学习Javascript,所以我可以在升级之前完成基础研究。

要了解,我已经制作了一款适用于Chrome& Safari,但不是Firefox。 (我猜这就是人们使用jQuery的原因!)。

我根据此answer调整了代码。但它仍然无法在Firefox中运行。这是相关的代码。有任何想法吗?

function reportAnswer(e) {
  if(!e) e = window.event;
  questionNumber++;
  document.getElementById("myCount").innerHTML = (questionNumber + 1);
  var x = e.target || e.srcElement;
  checkAnswer();
}

function checkAnswer() {
  var thisAnswer = questionDatabase[currentQuestion].answer;
  if(event.target.id == thisAnswer) {
    document.getElementById("answer").innerHTML = ("YES! </br>" + questionDatabase[currentQuestion].photo);
    score++;
  }
  else {
    document.getElementById("answer").innerHTML = ("<img src=http://philly.barstoolsports.com/files/2012/11/family-feud-x2.png width='370' height='370'>");
  }
}

1 个答案:

答案 0 :(得分:1)

您的checkAnswer函数使用非标准全局window.event。你想做两件事:

  1. 像@thesystem建议的那样添加evente参数。
  2. 确保从您的事件处理程序中传递该参数。