如何获取删除键的event.keyCode?

Squ*_*rrl 8 events keycode keypress

$('body').keypress(function(event){

     if(event.keyCode == 46){console.log('Delete Key Pressed')}; //does not work

     if(event.keyCode == 32){console.log('SPACE BAR')}; //works
})
Run Code Online (Sandbox Code Playgroud)

为什么删除键不显示在这个FIDDLE中?

Max*_*Max 23

而不是按键,使用keyup或keydown事件:keypress用于PRINTABLE字符,而keydown将捕获非打印键按下,包括delete,backspace和return. http://jsfiddle.net/5cNTn/9/

$('body').keydown(function(event){
    var letter = String.fromCharCode(event.which); 
    if(event.keyCode == 32){console.log('SPACE BAR');}
    if(event.keyCode == 46){console.log('Delete Key Pressed');}
    console.log(event); 
    console.log(event.keyCode); 
 });
Run Code Online (Sandbox Code Playgroud)


Gib*_*olt 11

使用 keydown 和现代 JS!

document.addEventListener("keydown", function(event) {
    if (event.key === "Delete") {
        // Do something
    }
});
Run Code Online (Sandbox Code Playgroud)

现代风格,lambda + 解构

document.addEventListener("keydown", ({key}) => {
    if (key === "Delete") {
        // Do something
    }
})
Run Code Online (Sandbox Code Playgroud)