How do I get the event.keyCode of the delete key?

Squirrl picture Squirrl · Jan 21, 2014 · Viewed 37.6k times · Source
$('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
})

Why doesn't the delete key show up in THIS FIDDLE ?

Answer

Max picture Max · Jan 21, 2014

Instead of keypress, use the keyup or keydown event: keypress is meant for PRINTABLE characters, whereas keydown will capture non-printing key presses including delete, backspace, and 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); 
 });