2

我的输入很少,您可以使用键码来集中它们。

我正在尝试:当专注于输入时,禁用键码功能,当不专注时,启用。

我试过这个:

var hotkeys_function = false;
if (!hotkeys_function ){
    $(document).keydown(function(e) { 
        if (e.keyCode == 71) { 
        $("#input1").fadeIn();
        $("#input1").focus().select();
            var hotkeys_function = true;
        }
    });

}

和这个:

if ($("#input1").select()) {
    var hotkeys_function = true;
}

但似乎没有一个工作。

4

2 回答 2

3

不是$("#input1").select()但是$("#input1").focus()

实际上,不需要任何变量,您只需动态检查并返回输入是否聚焦即可。

$(document).keydown(function(event) {
    if($("#input1").is(":focus")) return; //Will fail if already focused. 

    if (event.keyCode == 71) { //g 
        $("#input1").fadeIn();
        $("#input1").focus().select();
    }
});

工作示例

于 2011-08-13T12:57:29.517 回答
0

你可以做的是这个,没有任何其他变量:http: //jsfiddle.net/pimvdb/YnVPQ/

$(document).keydown(function(e) {
    if (e.keyCode == 71) {
        if($("input").is(":focus")) return; // abort if any focused textboxes

        $("#input1").fadeIn();
        $("#input1").focus().select();
    }
});
于 2011-08-13T12:57:02.517 回答