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

Vis*_*a S 1 jquery keycode keypress

$(document).keypress(function(e)
{
  alert(e.keyCode);
  if(e.keyCode==27)
  {
    hide_menu();
  }
});
Run Code Online (Sandbox Code Playgroud)

我得到除了转义键之外的所有键的警报,并且if永远不会调用成功部分.为什么会这样?

asi*_*haq 6

使用$(document).keyup而不是$(document).keypress

以下代码工作正常:

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

  if(e.keyCode==27)
  {
      alert ("Esc key");
      hide_menu();
  }
});
Run Code Online (Sandbox Code Playgroud)