0

私のアプリでは、ユーザーは ajax 経由でテキスト フィールドを表示するボタンをクリックします。

テキスト フィールドが表示されたら、そのテキスト フィールドに注目したいと思います。

$("#my-textfield").focus()js.erb ファイルでは機能しませんが、コンソールでは正常に機能します。私も試してみましたsetTimeoutが、無駄でした。

私がそうするdocument.getElementById('my-textfield').focus();と、「nullに集中できません」というメッセージが表示されます。

ajax経由でパーシャルをロードした後、何らかの形でDOMを「リロード」する必要がありますか?

4

2 に答える 2

0

私は実際にこれを行っていませんが、試してみることができます

$function() {
  $("#my-textfield").load(function() {
    $(this).focus();
  });
});

最初にロードされたことを確認します。

于 2012-08-13T19:10:38.143 に答える
0

DOMNodeInserted.on() でイベントをリッスンできます。まだ広くサポートされておらず、私も使用したことがありませんが、あなたがやろうとしていることにはうまくいくようです.

于 2012-08-13T18:57:14.793 に答える