Jquery 需要禁用退格按钮

Jquery 需要禁用退格按钮,jquery,html,Jquery,Html,可能重复: 我想禁用退格按钮,除非它位于文本字段中 我正在使用以下代码,但它可以防止包含文本字段的退格功能。。退格只能用于文本字段 请帮我解决这个问题 $(document).on("keydown", processKeyEvents); $(document).on("keypress", processKeyEvents); function processKeyEvents(event) { // Backspace if (event.keyCode == 9) {

可能重复:

我想禁用退格按钮,除非它位于文本字段中

我正在使用以下代码,但它可以防止包含文本字段的退格功能。。退格只能用于文本字段

请帮我解决这个问题

$(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对象,您只需要一个键事件,backspace不是键9

使用event.target获取元素怎么样

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

为什么不能像这样比较jQuery对象呢?它很好用。唯一的问题是键码,它必须是8而不是9。@ATOzTOA:当您尝试它时,它工作了吗?这可能是因为某个特定的浏览器优化,我认为它不能保证工作良好。即使有某种古怪的特殊情况,无论如何都是更好的。它奏效了:。也许,你是对的,它可能不适用于所有浏览器。@ATOzTOA:你有它作为!=。我是说他们永远不会平等。看,它甚至比不上它自己:@minitechoops,我的坏。。。谢谢你,老兄…谢谢你,穆萨,它的工作正是我所期待的。。。。。。
function processKeyEvents(event) {
    // Backspace
    if (event.keyCode == 8) {
        // myTextBox is id of the valid textbox
        if (!$(event.target).is("#myTextBox")) {
            event.preventDefault();
        }
    }
} 
$(document).keydown(function(e) {
    var elid = $(document.activeElement).hasClass('textInput');
    if (e.keyCode === 8 && !elid) {
        return false;
    };
});