/ / Javascript / JQueryでオートフォーカス属性をオーバーライドする - javascript、jquery、input、autofocus

Javascript / JQueryでオートフォーカス属性をオーバーライドする - javascript、jquery、input、autofocus

2つの入力フィールドがあり、1つはオートフォーカス属性を持ち、もう1つは入力しない場合、ドキュメントの読み込み時にオートフォーカス属性がないフィールドにどのようにフォーカスしますか?例えば:

<script type="text/javascript">
$(document).ready(function() {
// $("input[name="bar"]").blur();
// $("input[autofocus]").removeAttr("autofocus");
$("input[name="foo"]").focus();
});
</script>
<p><input name="foo" type="text"></p>
<p><input autofocus name="bar" type="text"></p>

ページを読み込むと、最初の入力フィールドではなく2番目の入力フィールドにカーソルが固定されます。私はコメントアウトされた行を何となく修正しようとしましたが、成功しませんでした。

編集: 私は、要素上で.blur()を使用する "重複する質問"に記載されている解決策を試してみましたが、うまくいきませんでした。さらに、重複する質問は、オートフォーカスを無効にする方法にのみ答えるだけで、後で別の入力フィールドに再フォーカスする方法には答えません。

回答:

回答№1は1

これでもう少し時間を費やした後、私は最終的に「焦点」が早すぎて発射していることを理解しました。この問題を解決するために、私がしなければならなかったのは、それをsettimeoutにラップすることでした:

setTimeout(function() {
$("#myTags input[type="text"]").focus();
}, 20);
$("input[autofocus]").blur();