AJAXを介してコンテンツをロードするページがあります。このコンテンツの中にはいくつかの画像があります。画像のサイズ(さまざまです)に応じてページレイアウトをフォーマットする必要がありますが、サイズを取得するには、コードを実行する前に、まず画像の読み込みを完了する必要があります。それが通常のページにあった場合(通常はAJAXなしでコンテンツをロードする)、私がしなければならないのは$(window).load()
関数を使用することだけですが、AJAXでは何らかの理由でトリガーされません。これに対する回避策が必要です。AJAXを介してロードされた画像のロードが完了した後にコードを実行する方法です。
基本的に、これは私がやろうとしていることです
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
document.getElementById("results").innerHTML=ajaxRequest.responseText;
//the responseText includes images among other information to be loaded
$(window).load(function() {
...some code
});}}
しかし、$(window).load()
決して起動せず、すべての画像の読み込みが完了したらコードを実行する必要があるため、すべての画像に読み込みイベントをバインドすることは実際にはオプションではありません。
最初の質問に関連して類似している別の質問があり$(document).ready
ます。コンテンツがAJAXを介してロードされた後も、jQueryが起動しないようです。今は必要ありませんが、将来的には確実に必要になるので、これに対する回避策もありますか?
本当にありがとうございました。