Frage

Ich habe eine mobile Website jQuery Mobile 1.0a2 laufen und ich bin testet derzeit in Mobile Safari für Firmware 4.1 über den iPhone Simulator.

Ich kann scheint nicht zu binden an das Ladeereignis für ein Bild.

ich eine einfache Galerie von Thumbnails haben und ein großes Bild. Wenn Sie auf einem Klicken auf Miniatur es das src Attribut des Haupt img

ändert

Die js für diese Anwendungen der live('click' Methode zu binden und es funktioniert gut.

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

Mein Problem ist, dass ich Feedback zu diesem Klick, so dass ich eine Lademeldung (zur Verfügung gestellt von jquerymobile) zeigen wollte, und versteckt es dann einmal das Bild geladen.

Wo #gallery_image_large ist die eigentliche <img> wo der src ändert, habe ich versucht, die folgenden:

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

Das funktioniert in Safari auf meinem Desktop aber nicht in der iPhone Simulator oben erwähnt.

Zum Vergleich:

UPDATE: Ich experimentiere mit JQuery Bild Last versagt auf MobiOne iPhone Simulator , die erläutert, wie die .load manuell implementieren, indem „Überprüfung .complete“.

War es hilfreich?

Lösung

änderte ich die Struktur meiner jquery und es scheint es behoben zu haben!

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

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

(wie Sie sehen können, habe ich für einen try { .. } catch { .. } opt'd zu überprüfen jquerymobile verfügbar ist.

Auch wenn ich nicht die Lösung verwendet haben (direkt) von JQuery Bild Last versagt auf MobiOne iPhone Simulator , die manuelle Abfeuern von load über .complete ist wahrscheinlich eine gute Lösung für alle anderen da draußen!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top