web-dev-qa-db-ja.com

ボタンにフォーカスを設定しても機能しない

ユーザーがボタンを押している間にフォーカスをボタンに設定しようとしています Enter テキストボックスにキーを押します。しかし、それは機能していません。 Internet Explorer8ブラウザを使用しています。私は何かが足りないのですか?

$("input.Box").live('keydown', function(e) {
    if (e.keyCode == 13) {
        e.preventDefault(); 
        $("#button").focus(); // Not working?
    }
});
13
Lamps

Microsoftは、e.keyCodeが気に入らず、代わりに独自の構文e.whichを使用することを決定しました。

両方を確認する必要があります。

$("input.Box").live('keydown', function(e) {
    var keyCode = (window.event) ? e.which : e.keyCode;

    if (keyCode == 13)
        e.preventDefault(); 
        $("#button").focus(); // Not working?
    }
});
7
Blender

問題は、IEが十分に迅速に応答できないため、live関数が入力されてから.focus()までの間にわずかな遅延を追加する必要があることです。 ]が呼び出されます。

$("#button").focus();

setTimeout(function () {
 $('#button').focus();
}, 100);

これは、Blenderが提案したようにe.whiche.keyCodeとともに使用すると、問題が解決するはずです。

9
Ankit Soni

名前が正しいですか? 。NET 名前を変更する習慣があります。言語や環境を指定しません。

クラスセレクターを使用してみてください。ボタンに_class="Test"_のクラス名を付けてから、$(".Text").focus()を使用して選択します。

1
griegs

フォーカスを設定する前に、DOMの準備ができており、要素が存在することを確認してください。

0
Chad