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 に答える