Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Событие загрузки элемента, но не load (https://javascript.ru/forum/events/37807-sobytie-zagruzki-ehlementa-no-ne-load.html)

grecha 07.05.2013 18:57

Событие загрузки элемента, но не load
 
Здравствуйте!
Какое событие происходит после загрузки элемента?

Поясню. Есть страница с блоком <div class="mgreen">.
Хочу что бы этот блок через несколько секунд сворачивался, пишу здесь же:
$(".mgreen").delay(2000).slideUp("fast");

Отлично! Работает!

Теперь я подгружаю эту же страницу через AJAX, код Jquery находится на странице В которую подгружается страница с блоком .mgreen и ничего не сворачивается. Пишу вот так:

$(document).on("load", ".mgreen", function(){
$(".mgreen").delay(2000).slideUp("fast");
});
$(document).off(".mgreen");

И тоже нефига не работает. Вместо load пробовал onload. Вместо on пробовал bind. Ничего не получается. В div.mgreen содержится сообщение для пользователя, этот блок используется на многих страницах, поэтому дублировать работающий вариант кода на каждой странице, где может быть это сообщение - не вариант.

Какое событие тут нужно использовать?

tropiko 07.05.2013 20:44

Читаем документацию jQuery:
Цитата:

The load event is sent to an element when it and all sub-elements have been completely loaded. This event can be sent to any element associated with a URL: images, scripts, frames, iframes, and the window object.
Вкратце: событие load возникает, когда будут загружены такие элементы: img, script, frame, iframe и объект window.

Раскидываем мозгами и читаем доки дальше.

$(document).ajaxComplete();

:)

Юзаем
http://jsfiddle.net/ekD9R/

grecha 08.05.2013 00:31

Спасибо! Ларчик просто открывался!)


Часовой пояс GMT +3, время: 02:32.