1

jQueryを介してAJAXリクエストを介してDOMにフォームを挿入しています。inputライブ検索用に Twitter Bootstrap フレームワークが提供する typeahead jQuery 関数を使用しており、要素が DOM に入るときに入力フィールドにアタッチしたいと考えています。そのためには、入力フィールドでメソッドを呼び出す必要がありますがtypeahead、それを実現する方法がわかりません (最初のページの読み込み時を除く)。

入力フィールドが DOM に追加されるのをリッスンし、その時点で jQuery メソッドを呼び出すにはどうすればよいですか?

アップデート

私の質問は具体的ではありませんでした。要素が DOM に読み込まれるたびに jQuery メソッドを 1 回だけ呼び出す方法を教えてください。監視しているタグなので<input />、アイテムにフォーカス イベントが発生するたびにメソッドを呼び出すことにしました。

$("#your_div").on "focus", "input[name='your_name_here']", (event) ->
  $(this).typeahead
    source: ...

これは機能しますが、実際には要素のロード時にのみ呼び出す必要がある場合に、すべてのフォーカスで呼び出されます。

4

1 に答える 1

2

$.live()jQueryの関数を使用します。私もこの問題を抱えていましたが、少し混乱しています。これがどのように機能するかの例です
。EDIT は古くなっています。更新された関数$.live()を使用するための以下のコメントの1つに感謝して、回答を編集しました。$.on()

$("div").on("form.html",function(data){
    //Blah Blah
    });
});
$(function(){
    ("divthatloaded").on("listener",function(){ //By listener I mean click, hover, mouseon, etc...
    //Does stuff to it...
    });
});

実際には$.on、適切なリスナー/コールバックでを使用して、ajaxによってロードされるdivを使用します

于 2012-05-19T23:08:32.757 に答える