0

js関数を介して投稿への返信をロードしているプロジェクトがあります:

$('div.discussion_content').each( function() {
    discussion.loadDiscussion($(this));
});

ページの読み込みではうまく機能しますが、ページに「無限スクロール」があり、下にスクロールしてより多くのコンテンツ (したがってより多くのディスカッション) を取得すると、何も得られません。

私は .on() jQuery 関数を試しました...しかし、何に?要素の読み込み時にすぐにこの関数を呼び出したいのですが、 .on('load' ... ) を試してみましたが、役に立ちませんでした。

私は .livequery() プラグインを試しました...

$('div.discussion_content').livequery(function() { 
    discussion.loadDiscussion($(this)); 
});

また、役に立たない。

私が望んでいることは、おそらく不可能ではなく、珍しいことでもありません...しかし、私は解決策を知らずに自分自身がうんざりしていることに気づきます.

4

4 に答える 4

3

挿入直後にアクションを実行する場合は、AJAX 呼び出しの成功ハンドラーの一部としてロジックを使用する必要があります。

実際に要素の 1 つのアクションでこのロジックを実行したい場合はon()、アプローチする必要があります。関数が呼び出さon()れたときに存在する動的要素の親要素に をアタッチする必要があることに注意してください。on()使用法は次のようになります。

$('#container_available_at_page_load').on('click', '.class_of_dynamic_elements', function() {
    // do something
});
于 2013-02-26T20:55:08.180 に答える
0

これらの要素はページの読み込み時には存在しないため、"each" ステートメントは影響しません。作成後に (スクロール イベントで) "each" ステートメントを起動してみてください。

※もう少しコードを添付していただけると助かります。

于 2013-02-26T20:57:05.873 に答える
0

スクロールイベントは試しましたか? http://api.jquery.com/scroll/

于 2013-02-26T20:53:02.097 に答える
0

イベント委任を試しましたか?

$(document).on('click','myClickeableDiv', function(){
  //do your thing
});
于 2013-02-26T20:53:19.223 に答える