[jQuery] Nie do końca “onload”

27 01 2009

Przed chwilę zauważyłem rzecz, która może się przydać innym.
Gdy wykonujemy w jQuery kod typu:

$(function() {
[..]
});

Kod “[..]” jest wykonany po załadowaniu DOM’u (nie dziwne ;) ). A obrazki? Obrazki mogą się ładować. DOM jest załadowany i już. Obrazki nie należą do DOM’u, więc event DOMReady jest wykonywany przed załadowaniem obrazków…

…więc jeżeli chcesz wykonać jakiś kod po 100% załadowaniu strony (włącznie z obrazkami, iframe’ami, itp.), skorzystaj z:

$(window).load(function() {
[...]
});

Wtedy kod “[...]” zostaje wykonany po załadowaniu całego dokumentu, nie tylko DOM’u :)

@edit: Tak.. Wiem.. Dopiero niedawno zauważyłem, że to samo jest napisane w dokumentacji jQuery :D


Działania

Informacja

Jedna odpowiedź

25 06 2009
Paweł Danielewski

Dzięki, właśnie dokładnie tego szukałem. Po 20 minutach walki z jquery i próbą aktywacji onload udało się wyświetlić popup z biblioteką impromptu. Niestety z tego co wiem load+jquery w tej formie nie działa poprawnie np. pod explorerem. Pora na testy.

Dodaj komentarz