2017-08-04 17 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を意味します。 ?lol –

答えて

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

私は入力ボックスを意味します –

関連する問題