-1

可能重复:
如何使用 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();
        }
    }
} 
4

3 回答 3

2

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

$(document).on('keydown', function(e) {
    if(e.keyCode === 8 && !$('#myTextBox').is(':focus')) {
        e.preventDefault();
    }
});
于 2012-12-24T04:56:25.117 回答
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();
        }
    }
} 
于 2012-12-24T05:07:42.357 回答
0
$(document).keydown(function(e) {
    var elid = $(document.activeElement).hasClass('textInput');
    if (e.keyCode === 8 && !elid) {
        return false;
    };
});
于 2012-12-24T05:15:33.480 回答