BACKSPACE按钮需要禁用

时间:2012-12-24 04:53:43

标签: jquery html

  

可能重复:
  How to disable backspace except textbox using jQuery

我想禁用BACKSPACE按钮,除非它在TEXT字段中。

我正在使用以下代码,但它阻止了退格功能,包括文本字段.. BACKSPACE应仅适用于TEXT字段..

请帮帮忙......

$(document).on("keydown", processKeyEvents);
$(document).on("keypress", processKeyEvents);

function processKeyEvents(event) {
    // Backspace
    if (event.keyCode == 9) {
        // myTextBox is id of the valid textbox
        if ($("*:focus") != $("#myTextBox")) {
            event.preventDefault();
        }
    }
} 

3 个答案:

答案 0 :(得分:2)

你不能比较那样的jQuery对象,你只需要一个键事件,而退格键不是键9。

$(document).on('keydown', function(e) {
    if(e.keyCode === 8 && !$('#myTextBox').is(':focus')) {
        e.preventDefault();
    }
});

答案 1 :(得分:0)

如何使用event.target来获取元素

function processKeyEvents(event) {
    // Backspace
    if (event.keyCode == 8) {
        // myTextBox is id of the valid textbox
        if (!$(event.target).is("#myTextBox")) {
            event.preventDefault();
        }
    }
} 

答案 2 :(得分:0)

$(document).keydown(function(e) {
    var elid = $(document.activeElement).hasClass('textInput');
    if (e.keyCode === 8 && !elid) {
        return false;
    };
});