3

Ajax で取得したデータを含む大量の HTML を DOM に挿入するときは、データを for ループして、各エントリに基づいて何かを挿入します。注入された各要素に<a>data-transition='slide'.

問題:現在、注入した 21 のエントリのうち、最初の 6 つの遷移のみが機能します。私はいくつかのことを試しました。つまり、一度にすべてを注入する、すべてを少しずつ注入する.trigger('create')、またはafter.page()を含むをdiv呼び出す、注入ごとに呼び出す、さらに for ループの各要素の後に setTimeout(500) を追加する. 注: 機能しない要素については、遷移はまったくなく、デフォルトの遷移もありません。

簡略化されたサンプル コード:$().ajaxSubmitこれは、リクエスト のコールバック関数で呼び出されます。

function populateFeed(data) {
  for (var i = 0; i < data.length; i++) {
    $("#feed").append("<a href='#nextpage' onclick='someFunction()' data-" + 
       "transition='slide'><div>Some content</div></a>");
  }
}

実際のコードにはこれよりも少し多くのロジックがありますが、これがコアです。では、なぜこれは最初の 6 つでしか機能しないのに、後者では jQM トランジションが壊れているように感じるのでしょうか? これを修正するにはどうすればよいですか?

更新: 同様の効果がhttp://jsfiddle.net/Uk5d4/6/で再現されています。一番下のリンク (リンク 999) には遷移がありません。

4

1 に答える 1