如何使用jQuery禁用除文本框之外的退格

时间:2012-12-23 15:09:13

标签: jquery html

我想禁用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();
        }
    }
} 

2 个答案:

答案 0 :(得分:1)

检查keydown事件,如果textarea未聚焦,则按下backspace会阻止默认。 http://jsfiddle.net/Q9Meh/2/

$('body').keydown(function(event) {
    if (event.which == 8 && !$('textarea:focus').length) {
     event.preventDefault();
   }
});​

答案 1 :(得分:0)

这个怎么样? myTextBox是退格应该起作用的文本框的ID。

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

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