如何获得Java脚本中的用户输入并在页面上显示此输入?

时间:2019-03-09 02:28:15

标签: javascript

我是Java新手,正在尝试创建一个模拟a子手的游戏。我试图从用户在键盘上输入字母后得到它们。但是,当我键入某些内容时,它没有任何区别,它不会输出是正确的还是不正确的。我认为我可能无法在我的guessLetter()函数中正确使用该事件,将不胜感激。

window.addEventListener("DOMContentLoaded", function() {
      var word = ['taco'];

      let randNum = Math.floor(Math.random() * word.length);
      let chosenWord = word[randNum];
      let underScore = [];

      let docUnderScore = document.getElementsByClassName('underScore');
      let docRightGuess = document.getElementsByClassName('rightGuess');
      let docWrongGuess = document.getElementsByClassName('wrongGuess');

      console.log(chosenWord); //lets grader cheat

      let generateUnderscore = () => {
        for (let i = 0; i < chosenWord.length; i++) {
          underScore.push('_');
        }
        return underScore;
      }


      document.onkeyup = function guessLetter(event) {
        let letter = String.fromCharCode(event.keyCode || event.code).toLowerCase();

        if (chosenWord.indexOf(letter) > -1) {
          rightWord.push(letter);
          underScore[chosenWord.indexOf(letter)] = letter;
          docUnderScore[0].innerHTML = underScore.join(' ');
          docRightGuess[0].innerHTML = rightWord;
          if (underScore.join('') === chosenWord) {
            alert('CONGRATS! YOU WIN!!!');
          } else {
            wrongWord.push(letter);
            docWrongGuess[0].innerHTML = wrongWord;
          }
        }
        underScore[0].innerHTML = generateUnderscore().join(' ');

      }
    });
<!DOCTYPE html>
<html>

<head>
  <h1> Hangman </h1>
  <div id="guesses">
    <div class="letter" id="letter" </div>
    </div>
</head>

<body>
</body>
<div class="container">
  <div class="underScore">_ _ _ _</div>
  <div class="rightGuess"> right guess </div>
  <div class="wrongGuess"> wrong guess </div>
</div>

</html>

2 个答案:

答案 0 :(得分:1)

您为什么在写head标签?它没有显示在您的网页中,请将html标记放在正文中。

答案 1 :(得分:1)

在JS控制台中,由于未定义ReferenceErrorsrightWord变量而抛出wrongWord