使用通用函数防止输入字段失去焦点。 jQuery的

时间:2014-01-29 07:16:12

标签: jquery

我正在尝试将焦点设置为输入字段。实际问题是,每当我按退格键时,输入文本框上的焦点就会丢失(因为语言翻译)。但问题解决了,我能够将焦点重新设置在输入字段上。我是jquery的新手,所以我不知道如何使输入焦点函数对所有输入字段都是通用的。在这里,我只关注一个领域。

这是我的尝试

    var keyBspace = false;
    function OnDownKey() {
        $('#txtfield').keypress(function (event) {
            var keycode = (event.keyCode ? event.keyCode : event.which);
            if (keycode == '8') {
                keyBspace = true;
            }
            event.stopPropagation();
        });
    }

    function OnblurEvent() {
        $('#txtfield').blur(function (e) {          
            if (keyBspace) {
                var self = $(this);
                setTimeout(function () { self.focus(); }, 5);
            }

        });
    }

如何使此函数对所有输入字段都是通用的。需要帮助。

提前致谢。

2 个答案:

答案 0 :(得分:1)

而不是特定的选择器#txtfield使用通用选择器,如input["text"]

var keyBspace = false;
function OnDownKey() {
    $('input["text"]').keypress(function (event) {
        var keycode = (event.keyCode ? event.keyCode : event.which);
        if (keycode == '8') {
            keyBspace = true;
        }
        event.stopPropagation();
    });
}

function OnblurEvent() {
    $('input["text"]').blur(function (e) {          
        if (keyBspace) {
            var self = $(this);
            setTimeout(function () { self.focus(); }, 5);
        }

    });
}

答案 1 :(得分:0)

对于所有文本字段,请使用$("input[type='text']")