簡體   English   中英

我無法使用 JavaScript 在平方計算器中使用 addEventListener 按下的鍵進行 console.log 記錄?

[英]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();

此外,它沒有給出錯誤,它只是不起作用。 這是前一陣子的,我認為我前段時間看的教程有問題。

首先,在函數內部聲明函數和事件偵聽器不是一個好習慣。 其次,在您提供的示例中,console.log() 不會調用,因為 if 語句返回 false。 第三,keypressed 不是有效事件。 有keypress,keyup,keydown。

一個稍微好一點的答案,因為您可以將它們分成函數。 另外,您可能指的是按鍵或按鍵。

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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM