web-dev-qa-db-ja.com

削除キーのevent.keyCodeを取得するにはどうすればよいですか?

$('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
})

削除キーがこのフィドルに表示されないのはなぜですか?

7
Squirrl

Keypressの代わりに、keyupまたはkeydownイベントを使用します。keypressは印刷可能な文字を対象としていますが、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); 
 });
22
Max

キーダウンと最新のJSを使用してください!

document.addEventListener("keydown", function(event) {
    if (event.key === "Delete") {
        // Do something
    }
});
4
Gibolt