Я пытаюсь остановить обработку нажатия клавиши Backspace браузерами, я использую библиотеку jquery, поэтому мне нужно получить исходное событие, но в некоторых браузерах (по крайней мере, в Firefox) я получаю сообщение об ошибке при попытке чтобы установить исходные события keyCode = 0, он выдает ошибку, сообщающую, что для этого свойства существует только геттер.
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;
}
}
так что я не совсем уверен, что делать дальше, каждое найденное мной решение порождает больше проблем. Должны быть способы обойти эту проблему, иначе другие текстовые области (это то, что я создаю) не будут работать