Aquí hay un pequeño complemento que hice para permitirle hacer exactamente esto, también funciona en múltiples imágenes de fondo y múltiples elementos:
Leer el artículo:
http://catmull.uk/code-lab/background-image-loaded/
o vaya directamente al código del complemento:
http://catmull.uk/downloads/bg-loaded/bg-loaded.js
Tan solo incluya el complemento y luego instálelo en el elemento:
<script type="text/javascript" src="http://catmull.uk/downloads/bg-loaded/bg-loaded.js"></script>
<script type="text/javascript">
$('body').bgLoaded();
</script>
Obviamente descargue el complemento y guárdelo en su propio alojamiento.
Por defecto, agrega una clase adicional "bg-loaded" a cada elemento coincidente una vez que se carga el fondo, pero puede cambiarlo fácilmente pasándole una función diferente como esta:
<script type="text/javascript" src="http://catmull.uk/downloads/bg-loaded/bg-loaded.js"></script>
<script type="text/javascript">
$('body').bgLoaded({
afterLoaded : function() {
alert('Background image done loading');
}
});
</script>
Aquí hay un codepen que demuestra que funciona.
http://codepen.io/catmull/pen/Lfcpb
Image()
objeto que tieneonload
evento.