用jQuery捕获“删除”按键

当使用jQuery文档中的keypress事件处理程序的示例代码时,我无法捕获Delete键。 在FireFox中按下Delete键时,下面的代码将会logging0

 $(document).keypress(function(e) { console.log(e.which); }); 

似乎有一个方法来捕获删除键,但这是一个模棱两可的术语,所以谷歌没有certificate是多less帮助。

您不应该使用keypress事件,而是使用keyupkeydown事件,因为keypress事件是针对真实(可打印的)字符的。 keydown在较低级别处理,因此它将捕获所有非打印键,如删除input

 $('html').keyup(function(e){ if(e.keyCode == 46) { alert('Delete key released'); } }); 

来源:来自www.cambiaresearch.com的JavaScript char代码

Javascript关键代码

  • e.keyCode == 8 退格
  • e.keyCode == 46用于在PC中向前退格删除button

除了这个细节,Colin&Tod的答案正在起作用。