2013-10-17 49 views
1
$(document).keypress(function(e) 
{ 
    alert(e.keyCode); 
    if(e.keyCode==27) 
    { 
    hide_menu(); 
    } 
}); 

我得到除了轉義鍵以外的所有鍵的警報,並且if的成功部分永遠不會被調用。爲什麼會發生?爲什麼僅用於轉義的keyCode事件不起作用?

+0

只是一個旁註,你應該使用[電子,如果你使用jQuery](http://stackoverflow.com/a/4471635/1400370) –

回答

5

使用的$(document).keyup的代替的$(document).keypress

以下代碼正常工作:

$(document).keyup(function(e) 
{ 
    alert(e.keyCode); 

    if(e.keyCode==27) 
    { 
     alert ("Esc key"); 
     hide_menu(); 
    } 
}); 
+0

http://jsfiddle.net/tb2BD/點擊輸出窗口,然後按esc鍵。適用於Chrome。 –

+0

爲什麼這不適用於keydown? –

1

您可以更改keypresskeyup最好使用KEYUP)或​​:

$(document).keyup(function(e){ 
    alert(e.keyCode); 
    if(e.keyCode==27){ 
     hide_menu(); 
    } 
}); 
相關問題