У меня есть страница, которая загружает контент через 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()
никогда не срабатывает, и мне нужно запустить код после завершения загрузки ВСЕХ изображений, поэтому привязка события загрузки к каждому изображению на самом деле не вариант.
У меня есть еще один вопрос, который связан и похож на первый: jQuery $(document).ready
, похоже, не срабатывает после загрузки контента через AJAX. Мне это не нужно прямо сейчас, но я определенно буду нуждаться в этом в будущем, так что какие-нибудь обходные пути для этого тоже?
Я был бы очень признателен за вашу помощь и большое спасибо.
load()
в API - person charlietfl   schedule 24.06.2012$(window).bind('load',function)
будет событием, которое вы ищете - person krichard   schedule 24.06.2012bind('load',fn)
иload(fn)
делают то же самое в jQuery API api.jquery.com/load-event - person charlietfl   schedule 24.06.2012