将 onkeypress 事件与 if else 语句相关联?

linking an onkeypress event with an if else statement?

我在将事件链接到 if else 语句时遇到问题。我能够获得一个更改 html 内容的 onkeypress 事件,但是如果他们按下某个键,我无法将事件后按下的键的内容获取到 运行 一些代码。如果您能帮我弄清楚为什么我的代码无法正常工作,那就太好了。我没有语法错误。当我按下 "h".

键时,我希望它成为 console.log

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");
    }
}
}

<input> 元素没有任何 HTML 内容,因此 innerHTML 总是 returns 一个空字符串。

您可以使用 .value.

获取文本框的值(不仅仅是用户按下的字符,如果有的话)

这对我有用我没有在你的代码中找到测试函数的调用所以我包装在 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");
      }

  };