aboutPage
deve essere l'ID della pagina (ad esempio con data-role="page"
). live()
allega la funzione definita che contiene lo alert
all'evento pageinit
di aboutPage
. pageinit
viene attivato in una pagina quando la pagina viene inizializzata.
Così, in breve Che cosa il vostro codice non fa altro che
che verrà eseguire l'istruzione avviso quando aboutPage
viene inizializzato
La pagina potrebbe essere inizializzato anche se non è in view.So anche prima vai a quella pagina, il pageinit
del div verrà attivato. Se stai caricando un altro file html come la nuova pagina pageinit
per quella pagina verrà attivata solo quando si carica quella pagina in view.So, nel tuo caso se vuoi fare qualcosa quando il tuo div viene visualizzato, puoi provarlo e pagebeforeshow
e pageshow
. pagebeforeshow
verrà attivato sulla nuova pagina prima dell'inizio dell'animazione e pageshow
dopo che l'animazione è finita.
Sì. Questo è quello che ho indovinato sarebbe e ho provato ad agganciare l'evento pageinit su div con data-role = "page" ma per qualche motivo il metodo non viene richiamato la prima volta che passo a una pagina. Quando clicco, il metodo viene chiamato. –
Modificato la risposta per spiegare a riguardo. Ciò aiuta. – user700284
Capito. Ogni pagina aveva il proprio javascript per collegare eventi "pageshow". Comunque stavo usando $ .mobile.changePage che carica solo un div con data-role = page e nient'altro su quella pagina (incluso inline javascript) viene eseguito. Ecco la risposta che mi ha aiutato http://stackoverflow.com/questions/7449402/jquery-mobile-mobile-changepage-not-loading-external-js-files/7449731#7449731 –