用jQuery捕获“删除”按键




jquery事件 (4)

您不应该使用keypress事件,而应该使用keyupkeydown事件,因为keypress事件适用于实际(可打印)字符。 keydown在较低级别处理,因此它将捕获所有非打印键,如删除输入

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

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

似乎有一种方法可以捕获Delete键,但这是一个模糊的术语,所以Google没有证明对它有多大的帮助。


Answer #1

Javascript关键代码

  • e.keyCode == 8用于退格
  • e.keyCode == 46用于前向退格删除 PC中的按钮

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


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

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


Answer #3

event.key ===“删除”

最近更清洁:使用event.key 。 没有更多的任意数字代码!

document.addEventListener('keydown', function(event) {
    const key = event.key; // const {key} = event; ES6+
    if (key === "Delete") {
        // Do things
    }
});

Mozilla文档

支持的浏览器





keypress