Search code examples
javascriptarraysonkeypress

Onkeypress function returning spaces instead of letters


I am using the following in and attempt to get a user's letter guess to appear on screen, but when I check the devtools the keypress is being returned to the array like [ , , , , , ,]. No letters. Ideas?

var letguessText = document.getElementById("letguess")
var guessArray = []

document.onkeypress = function(event) {
  var guess = event.key

  guessArray.push(String.fromCharCode(guess));
  letguessText.textContent = guessArray;
}

Solution

  • You don't need fromCharCode as the event.key is the character. Here is an example.

    var letguessText = document.getElementById("letguess")
    var guessArray = []
    
    document.onkeypress = function(event) {
      var guess = event.key
      guessArray.push(guess);
      letguessText.textContent = guessArray;
    }
    <p id="letguess">Start typing</p>