jQuery の ajax 関数$.get()
を使用して、ページからデータをダウンロードしています。次に、そのデータを を使用して jQuery オブジェクトにキャストし$(data)
、DOM ツリーを構築できるようにします。次に、このデータを追加しますappend()
load
jQuery が、データの iframes/images/videos の読み込みが完了したときに通知するのと同様のイベントを発生させる方法はありますか? ?の前または後のどちらappend()
か
jQuery のドキュメントによると、load
イベントは特定のオブジェクトでのみ発生します。
このイベントは、URL に関連付けられた任意の要素 (画像、スクリプト、フレーム、iframe、および window オブジェクト) に送信できます。
すべてのデータをループしてload
、これらのオブジェクトのそれぞれにリスナーをアタッチし、存在するオブジェクトの数を数えて、load
その数が合計に達するまで、ロードされた (または既にキャッシュされた) 数をハンドラーにカウントさせることができます。ただし、このソリューションの代替手段を探しています。
andを介してオブジェクトにload
イベントをアタッチしようとしましたが、これらはアクティブなページが最初に読み込まれたときに 1 回だけ発生します。window
load()
on()
これが私のコードです:
$.get(url_string, function(data) {
// Create DOM elements out of the downloaded html text 'data'
// and take a subset of the DOM elements, where the id is #content
var myContents = $(data).find("#content");
// Insert DOM elements into the active page
$("#destination").append(myContents);
// Check when all images/iframes/video elements have loaded
// Does not work
$("#destination").load(function() {
alert("new stuff loaded");
});
// Does not work either
myContents.load(function() {
alert("new stuff loaded");
});
});
この質問はにリンクされています
- すべての画像がロードされた後のjqueryイベント(キャッシュされた画像を含む)?
- 読み込まれた画像の jQuery イベント
- jquery: ajax で読み込まれたコンテンツがすべて読み込まれたときのイベント (画像を含む)
しかし、これらで提供される解決策は、私が上で述べたすべてのものであり、そこにあるオブジェクトの数を数え、合計に達したときに確認する必要があります。