【问题标题】:How to disable backspace except textbox using jQuery如何使用jQuery禁用除文本框以外的退格键
【发布时间】:2013-05-26 11:29:52
【问题描述】:

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

【问题讨论】:

标签: jquery html


【解决方案1】:

检查 keydown 事件以及是否按下了 backspace,如果 textarea 未聚焦,则防止默认值。 http://jsfiddle.net/Q9Meh/2/

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

【讨论】:

  • 您好朋友,感谢您的回复,但我没有达到我的要求。
  • 您好朋友,感谢您的回复,但它现在不符合我的要求。其实我想总是禁用退格按钮(键盘按钮)。但是当文本获得焦点时,它应该被启用。
【解决方案2】:

这个怎么样? 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();
        }
    }
}

【讨论】:

  • 您好朋友,感谢您的回复,但它现在不符合我的要求。实际上,我想始终禁用 Backspace 按钮(键盘按钮)。但是当文本获得焦点时应该启用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多