Come Bind evento Load per l'immagine in jQueryMobile
-
30-09-2019 - |
Domanda
Ho un sito web mobile in esecuzione jQuery Mobile 1.0a2 e sto testando in Mobile Safari per Firmware 4.1 tramite l'iPhone Simulator.
non riesco a legare l'evento carico di un'immagine.
Ho una galleria semplice di miniature e una grande immagine. Quando si fa clic su una miniatura cambia l'attributo src
del img
principale
I js per che utilizza il metodo live('click'
di legare e funziona bene.
$('.gallery-navigation img').live('click',function() {
// change source of main image to new
$.mobile.pageLoading(); // show jquerymobile loading message
});
Il mio problema è che ho bisogno di feedback su questo scatto, così ho voluto mostrare un messaggio di carico (fornita da jquerymobile) e poi nasconde una volta i carichi di immagini.
Dove #gallery_image_large
è la <img>
effettivo in cui il src
sta cambiando, ho provato il seguente:
$("#gallery_image_large").bind("load", function () {
$.mobile.pageLoading(true); // hide jquerymobile loading message
});
Questo funziona in Safari sul mio desktop, ma non in iPhone Simulator di cui sopra.
Per riferimento:
UPDATE: Sto sperimentando con JQuery caricare l'immagine non riesce a MobiOne iPhone simulatore , che spiega come implementare il .load
manualmente "controllando .complete
".
Soluzione
ho cambiato la struttura del mio jQuery ed è sembrava aver risolto!
$('#gallery_image_large').one('load',function() {
try { // a grade
$.mobile.pageLoading(true);
} catch(err) { // low grade
}
}).attr('src',full_src);
(come potete vedere, ho opt'd per un try { .. } catch { .. }
per verificare jquerymobile è disponibile.
Anche se non ho usato la soluzione (direttamente) da JQuery caricare l'immagine non riesce a MobiOne iPhone simulatore , la cottura manuale dei load
via .complete
è probabilmente una buona soluzione per chiunque altro là fuori!