2011-04-27 23 views
6
var imgLoader = $("<img />"); 
$(imgLoader).attr("src", "http://localhost/malevil/Content/Images/img_adrenalin.jpg"); 

$(imgLoader).unbind('load'); 
$(imgLoader).bind('load', function() { 
    alert("event fired"); 
}); 

Pero esto solo funciona en cromo, ¿dónde está el problema? En IE, el evento de carga de Firefox y Opera nunca se dispara.jQuery bind ("carga")

+0

¿Puede decirme si ha intentado enlazar los eventos antes de establecer realmente el origen de la imagen? – ikanobori

+0

Respondí a la respuesta a continuación –

Respuesta

12

Debe vincular el evento de carga antes de establecer la propiedad src.

Como nota al margen, hay problemas conocidos con el evento de carga de imágenes que usted necesita para tener en cuenta:

Y, citando el jQuery manual on load():

  • No funciona consistentemente ni fiable entre navegadores
  • No fuego correctamente en WebKit si la imagen src se establece en el mismo src como antes
  • No correctamente brotan del árbol DOM
  • puede dejar de disparar para las imágenes que ya viven en la memoria caché del navegador
3

me gustaría establecer el manejador antes se establece el atributo src --como podría ser que la imagen cargas antes de que se establezca su controlador de eventos.

+0

jaja este fue el caso para mí por un problema similar. –