ユーザーがボタンを押している間にフォーカスをボタンに設定しようとしています Enter テキストボックスにキーを押します。しかし、それは機能していません。 Internet Explorer8ブラウザを使用しています。私は何かが足りないのですか?
$("input.Box").live('keydown', function(e) {
if (e.keyCode == 13) {
e.preventDefault();
$("#button").focus(); // Not working?
}
});
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?
}
});
問題は、IEが十分に迅速に応答できないため、live
関数が入力されてから.focus()
までの間にわずかな遅延を追加する必要があることです。 ]が呼び出されます。
$("#button").focus();
と
setTimeout(function () {
$('#button').focus();
}, 100);
これは、Blenderが提案したようにe.which
をe.keyCode
とともに使用すると、問題が解決するはずです。
名前が正しいですか? 。NET 名前を変更する習慣があります。言語や環境を指定しません。
クラスセレクターを使用してみてください。ボタンに_class="Test"
_のクラス名を付けてから、$(".Text").focus()
を使用して選択します。
フォーカスを設定する前に、DOMの準備ができており、要素が存在することを確認してください。