将 jQuery 文档中的示例代码用于按键事件处理程序时,我无法捕获Delete密钥。0
当在 FireFox 中按下该Delete键时,下面的代码片段将记录:
$(document).keypress(function(e) {
console.log(e.which);
});
似乎必须有一种方法来捕获Delete密钥,但这是一个模棱两可的术语,因此 Google 并没有提供太多帮助。
您不应该使用keypress
事件,而是使用keyup
orkeydown
事件,因为该keypress
事件是为真实(可打印)字符设计的。keydown
在较低级别处理,因此它将捕获所有非打印键,如delete和enter。
$('html').keyup(function(e){
if(e.keyCode == 46) {
alert('Delete key released');
}
});
来源:javascript char codes 关键代码来自 www.cambiaresearch.com
Javascript 键码
除了这个细节科林和托德的回答是有效的。
更新和更清洁:使用event.key
. 没有更多的任意数字代码!
注意:旧属性 (
.keyCode
和.which
) 已弃用。
document.addEventListener('keydown', function(event) {
const key = event.key; // const {key} = event; ES6+
if (key === "Delete") {
// Do things
}
});
您可以使用 jQuery 跟踪删除/退格键,如下所示:
$(document).keyup(function(e){
if(e.key === "Backspace") {
alert('Delete key/ backspace');
}
});