Aqui está um pequeno plugin que eu criei para permitir que você faça exatamente isso, ele também funciona em várias imagens de fundo e em vários elementos:
Leia o artigo:
http://catmull.uk/code-lab/background-image-loaded/
ou vá direto para o código do plugin:
http://catmull.uk/downloads/bg-loaded/bg-loaded.js
Portanto, inclua o plug-in e chame-o no elemento:
<script type="text/javascript" src="http://catmull.uk/downloads/bg-loaded/bg-loaded.js"></script>
<script type="text/javascript">
$('body').bgLoaded();
</script>
Obviamente, baixe o plug-in e armazene-o em sua própria hospedagem.
Por padrão, ele adiciona uma classe "bg-loaded" adicional a cada elemento correspondente depois que o plano de fundo é carregado, mas você pode facilmente mudar isso passando uma função 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>
Aqui está um codepen demonstrando seu funcionamento.
http://codepen.io/catmull/pen/Lfcpb
Image()
objeto que possuionload
evento.