Hola:
Se ha escrito mucho sobre precarga de imágenes, puedes buscar con nuestro buscador y encontrarás muchos temas... pero básicamente lo que importa es que tanto la etiqueta img (html), como el objeto Image() (javascript) tienen un atributo "complete" que cuando se carga la imagen se activa (tomando el valor lógico true) y activan el evento load (onload) que se puede programar...
Por experiencia propia, yo no programaría el evento y consultaría con un temporizador el estado del atributo complete.
Saludos