2010-08-24 14 views
6

Estoy trabajando en un script que espera a que el contenido se cargue en un div oculto antes de activar una miniatura que apunta a él.¿Cuál es un mejor método para activar un evento load() en las imágenes en caché?

$('#preload img:first-child') 
.bind('load',activateThumb) 
.each(function(){ 
    if(this.complete || this.complete===undefined) $(this).load()}); 

La parte each activa el evento load() para las imágenes en la memoria caché. Tuve que agregarlo para hacer que la página funcione en algunos navegadores que no encienden load() en imágenes en caché.

También hay un plugin here que básicamente hace lo mismo, activando el evento de carga no "manualmente" sino restableciendo el atributo src.

Desde el punto de vista de la programación, ¿cuál es la solución más elegante?

Respuesta

2

Restablecer el atributo src para disparar el controlador load parece un truco (según mi conocimiento). A menos que el autor del complemento tenga alguna razón especial para hacerlo, o sepa algo que nosotros no sabemos, me quedaría con su método de activar manualmente load.

2

El complemento event.special.load, que se menciona en la documentación del evento de carga jquery, lo resuelve de forma similar.

Cuestiones relacionadas