$(document).keypress(function(e)
{
alert(e.keyCode);
if(e.keyCode==27)
{
hide_menu();
}
});
我得到除了轉義鍵以外的所有鍵的警報,並且if
的成功部分永遠不會被調用。爲什麼會發生?爲什麼僅用於轉義的keyCode事件不起作用?
$(document).keypress(function(e)
{
alert(e.keyCode);
if(e.keyCode==27)
{
hide_menu();
}
});
我得到除了轉義鍵以外的所有鍵的警報,並且if
的成功部分永遠不會被調用。爲什麼會發生?爲什麼僅用於轉義的keyCode事件不起作用?
使用的$(document).keyup的代替的$(document).keypress
以下代碼正常工作:
$(document).keyup(function(e)
{
alert(e.keyCode);
if(e.keyCode==27)
{
alert ("Esc key");
hide_menu();
}
});
http://jsfiddle.net/tb2BD/點擊輸出窗口,然後按esc鍵。適用於Chrome。 –
爲什麼這不適用於keydown? –
您可以更改keypress
到keyup
(最好使用KEYUP)或:
$(document).keyup(function(e){
alert(e.keyCode);
if(e.keyCode==27){
hide_menu();
}
});
只是一個旁註,你應該使用[電子,如果你使用jQuery](http://stackoverflow.com/a/4471635/1400370) –