No jQuery, quando você faz isso:
$(function() {
alert("DOM is loaded, but images not necessarily all loaded");
});
Ele aguarda o DOM carregar e executa seu código. Se todas as imagens não forem carregadas, ele ainda executará o código. Obviamente, é isso que queremos se estiver inicializando qualquer coisa do DOM, como mostrar ou ocultar elementos ou anexar eventos.
Digamos que eu queira alguma animação e não a execute até que todas as imagens sejam carregadas. Existe uma maneira oficial no jQuery de fazer isso?
A melhor maneira que tenho é usar <body onload="finished()">
, mas realmente não quero fazer isso, a menos que seja necessário.
Nota: Há um bug no jQuery 1.3.1 no Internet Explorer que realmente espera que todas as imagens sejam carregadas antes de executar o código dentro $function() { }
. Portanto, se você estiver usando essa plataforma, obterá o comportamento que estou procurando, em vez do comportamento correto descrito acima.
$("img").load()
funciona?