Отключить backspace и удалить ключ с помощью javascript в IE
Кто-нибудь знает, как я могу отключить backspace и удалить ключ с Javascript в IE? Это мой код ниже, но, похоже, он не работает для IE, но отлично подходит для Mozilla.
onkeydown="return isNumberKey(event,this)"
function isNumberKey(evt, obj)
{
var charCode = (evt.which) ? evt.which : evt.keyCode
if (charCode == 8 || charCode == 46) return false;
return true;
}
Ответы
Ответ 1
Этот обработчик событий работает во всех основных браузерах.
function onkeyup(e) {
var code;
if (!e) var e = window.event; // some browsers don't pass e, so get it from the window
if (e.keyCode) code = e.keyCode; // some browsers use e.keyCode
else if (e.which) code = e.which; // others use e.which
if (code == 8 || code == 46)
return false;
}
Вы можете присоединить событие к этой функции, например:
<input onkeyup="return onkeyup()" />
Ответ 2
обновить на основе @JoeCoder комментария и "устаревшего" ответа, я пересмотрел его.
document.querySelector([text input element]).onkeydown = checkKey;
function checkKey(e) {
e = e || event;
return !([8, 46].indexOf(e.which || e.keyCode || e.charCode) > -1);
}
См. также this jsFiddle
Ответ 3
$(document).keydown(function(e) {
if (e.keyCode === 8) {
var element = e.target.nodeName.toLowerCase();
if ((element != 'input' && element != 'textarea') || $(e.target).attr("readonly")) {
return false;
}
}
});
Ответ 4
Этот код отменяет действие backspace.
window.onkeydown = function (event) {
if (event.which == 8) {
event.preventDefault(); // turn off browser transition to the previous page
// put here code you need
};
};