2017-08-04 88 views
0

我有一個事件鏈接到if else語句的問題。我能夠得到一個改變html內容的onkeypress事件,但是我遇到的問題是在事件發生後按下某個鍵的內容,以便運行某些代碼。如果你能幫我弄清楚爲什麼我的代碼不能正常工作,那會很棒。我沒有收到語法錯誤。當我按下「h」鍵時,我希望將其添加到console.log中。將onkeypress事件與if else語句連接起來?

HTML

<p>Guess what letter I'm thinking of!</p> 
    <br/ > 
    <div>Wins: </div> 
    <br/ > 
    <p id="losses">Losses: </p> 
    <br/ > 
    <p>Guesses Left: </p> 
    <br/ > 
    <p>Your Guesses so far: <span id="change"></span></p> 
    <br/ > 

的Javascript

window.onload = function() { 

var guess = document.body.onkeypress = function(event){ 
document.getElementById("change").innerHTML = String.fromCharCode(event.keyCode); 
} 

    function test(){ 
    var letter = document.getElementById('change'); 

    if(letter.innerHTML==="h"){ 
     console.log('hi'); 
    } else { 
     console.log("nothing"); 
    } 
} 
} 

+0

? –

+0

@JesusCarrasco我試圖做到這一點,當你按h時,它做了一個console.log();它已經將html的內容更改爲您按下的任何鍵。對不起,我仍然是新的java –

+0

試試我的答案,並讓我知道如果幫助。喲意味着JavaScript。 ?大聲笑 –

回答

0

這爲我工作,我沒有在你的代碼中發現測試函數的調用執行測試時,所以我裹在onkeypress事件

var guess = document.body.onkeypress = function(event){ 
     console.log(event); 
     document.getElementById("change").innerHTML = 
     String.fromCharCode(event.keyCode); 
     var letter = document.getElementById('change'); 
     if(letter.innerHTML==="h"){ 
      console.log('hi'); 
     } else { 
      console.log("nothing"); 
     } 

    }; 
+0

哦,我的!謝謝!正在爲此工作了幾個小時,並不能解決它! –

0

<input>元件沒有任何HTML內容,所以innerHTML總是返回一個空字符串。

.value可以獲得文本框的值(不僅僅是用戶按下的字符)。

+0

我改變它的價值,它沒有奏效。它也不是一個文本框。我已經設置了它,以便更改div中的文本。 –

+0

我的意思是輸入框 –