2016-05-24 48 views
0

我想檢查退出鍵是否在javascript中被按下/釋放。如何檢查鍵盤上是否釋放了特定的鍵?

他們這樣,我已經看到的是:

document.addEventListener('keyup', function(event) { 
    //returns a number for key 
    console.log(event.keyCode); 
}); 

然而,當我去到Mozilla的,它說的「.keyCode」中被取消使用「.KEY」來代替。我照做了,但是當我改變了代碼如下:

document.addEventListener('keyup', function(event) { 
    //returns a number for key 
    console.log(event.key); 
}); 

它不會工作,它「未定義」控制檯說。任何想法爲什麼?

也是Mozilla最好的去處,因爲作爲初學者我覺得很難理解。謝謝

+1

的可能的複製[如何找出字符鍵被按下?(http://stackoverflow.com/questions/1846599/how-to -find-out-what-c​​haracter-key-is-pressed) –

+0

我一直使用.keyCode。您的事件對象沒有.key屬性,這就是爲什麼它在控制檯中記錄未定義的原因。 – IrkenInvader

+0

@IrkenInvader對不起,我是一個初學者,你的意思是沒有一個關鍵屬性?謝謝 –

回答

0

問題是你要添加到document聆聽者,當它應該被添加到window。例如,

window.addEventListener('keyup', function(ev) { 
    console.log(ev.key); 
}); 
+0

謝謝,但我試過了,仍然沒有定義 –

0

您需要將事件偵聽器附加到窗口。這可能會因瀏覽器而有所不同,但它對我有用。

window.addEventListener("keyup", function (event) { 
 
    
 
     if(event.key === "Escape"){ 
 
     console.log("Escape was released."); 
 
     } 
 
    
 
     // Consume the event for suppressing "double action". 
 
     event.preventDefault(); 
 
    }, true);

Try it on CodePen!

相關問題