Подтвердить что ты не робот

Отключить 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;
}
4b9b3361

Ответ 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 

        }; 

};