stopping backspace on multiple browsers using jQuery
Posted
by jboyd
on Stack Overflow
See other posts from Stack Overflow
or by jboyd
Published on 2010-03-13T19:12:00Z
Indexed on
2010/03/13
19:15 UTC
Read the original article
Hit count: 340
I am attempting to stop a backspace keydown event from being handled by browsers, I'm using the jquery library, so I need to get the original event, but on some browsers (firefox at least) I get an error when trying to set the original events keyCode = 0, it gives and error saying that only a getter exists for that property.
function blockBackspace(event) {
var altKey = event.originalEvent.altKey;
var srcElementType = event.originalEvent.srcElement;
if( (altKey) || ((event.keyCode == 8) && (srcElementType != "text" && srcElementType != "textarea" && srcElementType != "password"))
|| ((event.ctrlKey) && ((event.keyCode == 78) || (event.keyCode == 82)) ) || (event.keyCode == 116) )
{
event.keyCode = 0;
event.returnValue = false;
event.originalEvent.keyCode = 0;
event.originalEvent.returnValue = false;
//sets process backspaceFlag to keep multiple handlers from removing text
processBackspace = true;
}
}
so I'm not exactly sure what to do next, every solution I find yields more problems. There must be ways around this problem or else other text areas (that's kind of what I'm building) would not work
© Stack Overflow or respective owner