I am trying to make a console like application, so I am catching all the keypress on the window and do related stuff with them(not important). Problem is at backspace. I have the following code:
$(window).bind("keypress",function(e){
var code = e.keyCode || e.which;
if ( code == 8) {
a = $("#console").html();
$("#console").html(a.substring(0,a.length-1));
currentCommand = currentCommand.substring(0,currentCommand.length-1);
e.preventDefault();
}
However, in Firefox, contents of the #console
is deleted but Chrome does not execute the code above. I need a cross-browser compatible solution. What am I missing?
ADDITION:
If I use keydown/keyup instead of keypress, I am unable to detect if the characeter was 'A' or 'a' it always returns 'A'.
Read this. IE doesn't fire keypress for those special keys. Perhaps it's the same with some of the other browsers.
Javascript e.keyCode doesn't catch Backspace/Del in IE
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