2013-03-18 44 views
0

我在學習jQuery之前學習Javascript,因此我可以在升級之前獲得基礎。適用於Firefox事件目標的非jQuery解決方案

爲了學習,我做了一個簡單的猜謎遊戲,適用於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'>"); 
    } 
} 
+0

「TypeError:e is undefined」 – AndresG 2013-03-18 01:18:25

+0

Webkit瀏覽器通常處理帶/不帶引號的屬性。 您缺少Else塊中'src'屬性的引用 – 2013-03-18 01:58:30

回答

1

checkAnswer功能使用非標準全球window.event。你想要做的兩件事情:

  1. 添加evente參數像@thesystem建議。
  2. 確保從任何事件處理程序中傳遞該參數。
相關問題