为什么单独转义的keyCode事件不起作用?

时间:2013-10-17 07:50:37

标签: jquery keypress keycode

$(document).keypress(function(e)
{
  alert(e.keyCode);
  if(e.keyCode==27)
  {
    hide_menu();
  }
});

我获取除了转义键之外的所有键的警报,if的成功部分永远不会被调用。为什么会这样?

2 个答案:

答案 0 :(得分:6)

使用 $(文档).keyup 而不是 $(文档).keypress

以下代码可以正常工作:

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

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

答案 1 :(得分:1)

您可以将keypress更改为keyup更好地使用keyup )或keydown

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