Pregunta

Tengo un sitio web móvil que ejecute 1.0a2 jQuery Mobile y actualmente estoy probando en Mobile Safari para el Firmware 4.1 a través del simulador de iPhone.

Me parece que no puede se unen al evento de carga para una imagen.

Tengo una galería sencilla de imágenes en miniatura y una imagen de gran tamaño. Al hacer clic en la miniatura cambia el atributo de la src img principal

Los js para que utiliza el método live('click' para atar y funciona muy bien.

$('.gallery-navigation img').live('click',function() {
  // change source of main image to new
  $.mobile.pageLoading(); // show jquerymobile loading message
});

Mi problema es que necesito comentarios sobre este clic, así que quería mostrar un mensaje de carga (proporcionado por jquery mobile) y luego ocultar una vez se carga la imagen.

Cuando #gallery_image_large es la <img> real donde el src está cambiando, he intentado lo siguiente:

$("#gallery_image_large").bind("load", function () {
   $.mobile.pageLoading(true); // hide jquerymobile loading message
});

Esto funciona de Safari en mi escritorio, pero no en el simulador de iPhone se ha mencionado anteriormente.

A modo de referencia:

ACTUALIZACIÓN: estoy experimentando con jQuery carga de la imagen falla en el iPhone MobiOne simulador, que explica cómo implementar la .load manualmente por "comprobar .complete".

¿Fue útil?

Solución

Me cambió la estructura de mi jQuery y se parecía haber arreglado!

$('#gallery_image_large').one('load',function() {
    try { // a grade  
        $.mobile.pageLoading(true);
    } catch(err) { // low grade

    }
}).attr('src',full_src);

(como se puede ver, opt'd para un try { .. } catch { .. } para verificar jquery mobile está disponible.

Aunque yo no usar la solución (directamente) a partir de JQuery carga de la imagen falla en MobiOne iPhone simulador , el disparo manual de los load través .complete es probablemente una buena solución para cualquier otra cosa por ahí!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top