w3schools - ¿Cuál es la forma correcta de hacer $(documento).ready en jQuery Mobile?
jquery document ready function w3schools (1)
Lo más probable es que la razón por la que lees ese $ (documento) .ready no funcione con jQuery Mobile es que no se dispara cada vez que ves una pseudopágina. Dicho esto, todavía se activa como debería cuando se carga el documento html.
Si desea ejecutar un código que se active cada vez que vea una pseudopágina, puede usar este código:
$(''[data-role="page"]'').live(''pageshow'', function () {
//run your code here
});
NOTA: también hay otros enlaces a los que se puede enlazar (pageshow, pagehide, pagebefoershow, pagebeforehide), la documentación se puede encontrar aquí: http://jquerymobile.com/demos/1.0b1/docs/api/events.html
---------- EDITAR ----------
Estaba pensando en esto y el mejor análogo a $ (documento) .ready () no es vinculante para el evento "pageshow", sería vinculante para el evento "pagecreate". $ (document) .ready () se activa una vez por carga de página, y "pagecreate" hace lo mismo para las pseudopáginas, mientras que "pageshow" se activa cada vez que se muestra una página.
Entonces, si un usuario hizo clic fuera de la pantalla de inicio y luego hizo clic en un botón de retroceso para volver a la pantalla de inicio, "pageshow" se activará en esta segunda (y posterior) "muestra" de la pantalla de inicio.
Además, "pageshow" requiere que el usuario navegue a la página a la que está vinculado.
Supongamos que quiero ejecutar algo de código una vez que jQuery Mobile haya terminado de representar la interfaz de usuario. El evento mobileinit
no funciona, ya que se mobileinit
antes de que esto suceda. Una búsqueda rápida en Google parece indicar que simplemente usando $(document).ready
no funcionará con JQM; pero lo probé (llamado después de mobileinit
) y funcionó para mí: mi código se ejecutó y los elementos se actualizaron dinámicamente, etc., muy bien. Así que me pregunto, ¿hay alguna razón por la que no deba usarlo (no es confiable o desordena el JQM), o la información sobre el tema no está funcionando simplemente como inexacta? ¿Qué me estoy perdiendo?
Actualización : ver here para una demostración.