私はAJAX経由でフォームをロードしています...私は勝利のjQueryステートメントであると思っていたものを持っていますが、何もしません:
$("#input_form_container").loadActionTemplate()
.find ('.form-focus:first').focus();
loadActionTemplate は、フォームをロードするために作成した関数です。フォームをロードしてから、「this」への参照を返すため、チェーンを続行できます。ターゲット要素は、次のようなテキスト入力フィールドです。
<input class="span1 form-focus" id="min-duration" name="min-duration" size="16" type="text">
ノート:
- ロード後にデバッガーに入ると、このスクリプトを実行し (したがって、テンプレートがロードされた後)、「jQuery("#input_form_container").find ('.form-focus:first').focus();」を実行します。デバッガーからは、フィールドを強調表示し、将来の連鎖のためにDOM参照を返すことで、魔法のように機能します
私が入力した場合:
jQuery("#input_form_container").loadActionTemplate().find ('.form-focus:first').focus();
デバッガーに直接入力すると、テンプレートが再読み込みされ、正しい DOM 要素への参照が返されますが、フォーカスが得られません。
必死になって、focus() 呼び出しの前に delay(500) を挿入しようとしましたが、それは必要ではなく、とにかく問題を解決しませんでした。
どんな助けでも大歓迎です。