[英]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.