aboutPage
powinien być identyfikatorem strony (np.div z data-role="page"
). live()
dołącza zdefiniowaną funkcję zawierającą alert
do pageinit
zdarzenia z aboutPage
. pageinit
jest wyzwalane na stronie po zainicjowaniu strony.
Tak w skrócie Co robi Twój kod jest
będzie wykonać powiadomienie oświadczenie gdy aboutPage
jest inicjowany
strona może zostać zainicjowana nawet jeśli nie jest w view.So nawet przed przejdziesz do tej strony, zostanie wywołana pageinit
elementu div.Jeśli ładujesz inny plik HTML, jako nową stronę, zostanie wywołana tylko wtedy, gdy załadujesz tę stronę do widoku. Tak, w twoim przypadku, jeśli chcesz zrobić coś, gdy zobaczysz swojego diva, możesz spróbować e pagebeforeshow
i pageshow
. pagebeforeshow
zostanie wyzwolony na nowej stronie przed rozpoczęciem animacji i pageshow
po zakończeniu animacji.
Yup. Tak właśnie się domyślałem i próbowałem podłączyć wydarzenie pageinit na div z danymi-role = "page", ale z jakiegoś powodu metoda ta nie jest wywoływana po pierwszym przejściu na stronę. Kiedy uderzę odświeżam, metoda zostaje wywołana. –
Edytował odpowiedź, aby wyjaśnić na ten temat.Nadzieję, że pomaga. – user700284
Wyliczyłem to. Każda strona zawierała własny javascript, który podpinał zdarzenia "pagehow". Jednak używałem $ .mobile.changePage, które ładuje tylko element div z danymi-role = page i nic więcej na tej stronie (włączając wbudowany javascript) nie jest wykonywane. Oto odpowiedź, która pomogła mi http://stackoverflow.com/questions/7449402/jquery-mobile-mobile-changepage-not-loading-external-js-files/7449731#7449731 –