我不能 console.log 使用 JavaScript 在我的平方计算器中用 addEventListener 按下的键?

I can't console.log the key that I pressed with addEventListener in my squaring calculator using JavaScript?

它没有给出错误。我只是正常地编写代码,但它没有用,然后我使用了一个函数,然后我使用了一个window.onload,然后我用了一个while循环,还是不行。代码如下所示:

JavaScript代码:

function square() {
  function foo(n) {
    return n * n;
  }
  window.addEventListener('keypressed', checkKeyPress, false);

  function checkKeyPress(key) {
    if (key.code == '48' || key.code == '49' || key.code == '50' || key.code == '51' || key.code == '52' || key.code == '53' || key.code == '54' || key.code == '55' || key.code == '56' || key.code == '57') {
      console.log(foo(key));
    }
  }
  checkKeyPress('566');
}
window.onload = square();

此外,它并没有给出错误,只是无法正常工作。这是前段时间的,我觉得前段时间看的教程有问题。

一个稍微好一点的答案,因为您可以将它们分成函数。另外,您可能指的是按键或按键。

function foo(n){
    return n * n;
}

function checkKeyPress(key) {
    if (key.charCode >= 48 && key.charCode <=57) {
        console.log(foo(key.charCode));
    }
}

function square() {
    window.addEventListener('keydown', checkKeyPress, false); 
}

window.onload = square();

首先,在函数内部声明函数和事件侦听器不是一个好习惯。 其次,在您提供的示例中,console.log() 不调用,因为 if 语句 returns false。 第三,按键不是一个有效的事件。有keypress, keyup, keydown.