I'm trying to catch the pressing event of Backspace and Delete keys using javascript/jQuery with this kind of code.
$("textarea[name=txt]").keypress(function(e){
var keycode = e.keyCode ? e.keyCode : e.which;
if(keycode == 8){ // backspace
// do somethiing
alert(keycode);
}
if(keycode == 46){ // delete
// do somethiing
alert(keycode);
}
});
These lines of code works perfectly in Firefox (3.6.12). That means the alert is popped up when Backspace or Delete is pressed. But this is not working in Internet Explorer (8)
Can anyone suggest me a different way to catch these key press events in Internet Explorer?
key 13 keycode is for ENTER key.
See Jan Wolters' treatise on Javascript Madness: Keyboard Events. Enter and Numpad Enter both give the same keycode, i.e. 13, because browsers do not differentiate between the two keys.
If you want to support IE and you use special keys (like delete
and backspace
) I suggest using keydown
/keyup
instead.
Special keys
Explorer doesn't fire the keypress event for delete, end, enter, escape, function keys, home, insert, pageUp/Down and tab.
If you need to detect these keys, do yourself a favour and search for their keyCode onkeydown/up, and ignore both onkeypress and charCode.
You can read more on cross browser issues of Detecting keystrokes (Quirksmode).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With