2011-10-11 18 views

Respuesta

13

aboutPage debe ser el id. De la página. (Es decir, con data-role="page"). live() asocia la función que ha definido que contiene el alert al evento pageinit de aboutPage. pageinit se activa en una página cuando se inicializa la página.

Así que en breve Lo que hace es su código

que se ejecute la instrucción de alerta cuando se inicializa aboutPage

La página podría ser inicializado, incluso si no está en view.So incluso antes vaya a esa página, se activará el pageinit del div. Si está cargando otro archivo html, la nueva página pageinit para esa página se activará solo cuando cargue esa página en la vista. Así que, en su caso, si desea hacer algo cuando tu div aparezca a la vista, puedes probar e pagebeforeshow y pageshow. pagebeforeshow se activará en la nueva página antes de que comience la animación y pageshow después de la animación.

+0

Sí. Eso es lo que suponía que sería y traté de conectar el evento pageinit en div con data-role = "página", pero por alguna razón el método no se llama la primera vez que paso a una página. Cuando presiono actualizar, se llama al método. –

+0

Editado la respuesta para explicar esto. Espero que ayude. – user700284

+3

Lo descubrí. Cada página tenía su propio javascript para conectar los eventos de 'pageshow'. Sin embargo, estaba usando $ .mobile.changePage, que solo carga un div con data-role = page y nada más en esa página (incluido inline javascript) se ejecuta. Aquí está la respuesta que me ayudó http://stackoverflow.com/questions/7449402/jquery-mobile-mobile-changepage-not-loading-external-js-files/7449731#7449731 –