1. ホーム
  2. jquery

[解決済み] $.focus() が機能しない

2022-03-05 10:43:02

質問

その の最後の例は、jQuery の focus() ドキュメント 状態

$('#id').focus()

は入力にフォーカス(アクティブ)させる必要があります。これがうまくいかないようです。

このサイトのコンソールでも、検索ボックスに対して試しています

$('input[name="q"]').focus()

と表示され、何も表示されません。何かアイデアはありますか?

解決方法を教えてください。

実は、コンソールにフォーカスを当てていない限り、このサイトにフォーカスを当てた例は問題なく機能します。うまくいかない理由は、単に開発コンソールからフォーカスを奪っていないからです。コンソールで次のコードを実行し、その後ブラウザ ウィンドウをすばやくクリックすると、検索ボックスにフォーカスが当たるのがわかります。

setTimeout(function() { $('input[name="q"]').focus() }, 3000);

もう一つの方ですが、過去に困ったのはイベントの順番です。DOMにアタッチされていない要素にfocus()を呼び出すことはできません。フォーカスしようとしている要素は、すでにDOMにアタッチされていますか?