jQuery up键/向下键按键检测不起作用?

在以下代码中:

$(document).keypress(function(e) { var code = (e.keyCode ? e.keyCode : e.which); if (code == 40) { alert("down pressed"); } else if (code == 38) { alert("up pressed"); } }); 

我正在尝试检测是否按下了向下键或向上键。 为什么不工作?

小提琴 http://jsfiddle.net/K9uDn/10/

我是铬

使用keydown而不是按键 ,某些浏览器在按下 “特殊键(如箭头)”时不会触发按键

jQuery的keypress方法不是很稳定。 请改用on('keydown')

请参阅: http : //jsfiddle.net/K9uDn/9/

on(’keyup’)在IE中不起作用。 至少不是第9版。

这是javascript代码的固定版本的小提琴 ,其中使用switch / case语句捕获了额外的按钮

 $(document).on('keydown',function(e) { var code = (e.keyCode ? e.keyCode : e.which); switch (code){ case 34: alert("Page down pressed"); break; case 33: alert("Page up pressed"); break; case 40: alert("Down pressed"); break; case 38: alert("Up pressed"); break; case 37: alert("Left pressed"); break; case 39: alert("Right pressed"); break; }