2011-05-25 18 views
10

Soy nuevo en jquery Mobile (aunque estoy familiarizado con jquery) y no puedo encontrar un evento que se ejecuta después de que se muestra la página. Estoy usando jStorage para almacenar algunos datos y quiero verificar si hay datos y si hay algo diferente en la página (como agregar elementos a una lista).jQuery Mobile después de la página se muestra el evento

Pero el $ (documento) .ready no funciona si cambio la página (lo que significa que el hash cambia).

EDIT: he intentado ya el evento pageshow

$('div').live('pageshow',function(event, ui){ 
    alert('TEST'); 
}); 

Pero sucede antes de que el contenido se pone en el código HTML.

+0

'pageshow' debe dispararse DESPUÉS de que se complete la transición. ¿Cómo estás generando la página? – DarthJDG

+0

¿quizás agregue algún código para que podamos ver qué está pasando? –

+1

Maldición, en realidad encontré la respuesta, fue porque utilicé un div con el id "list-content" y el id se duplicó (porque jquery mobile mantenía la página anterior) y cuando edité el contenido editaba el primero (el oculto) –

Respuesta

12

Desde el jQuery Mobile documentation (que siempre es un buen lugar para empezar):

pagebeforeshow

Se activa en la página que se muestra, antes de que comience su transición.

pagebeforehide

Se activa en la página que se está escondida, antes de que comience su transición.

pageshow

Se activa en la página que se muestra, después de su transición completa.

pagehide

Se activa en la página que se está escondido, después de su transición completa.

+1

Ya lo he intentado. Verifique mi edición, pero eso sucede antes de que se ponga la página html. –

+1

El mismo problema aquí, es necesario hacer algunos cálculos en la carga de la página. Pageshow se activa después de la transición antes de la carga. – Maurice

Cuestiones relacionadas