Estoy usando jQuery Mobile y Backbone JS para un proyecto. Funciona principalmente, utilizando el evento 'pagebeforeshow' de jQuery Mobile para activar la vista Backbone correcta. En la Vista Backbone para esa página particular de jQuery Mobile, ahí es donde está haciendo todas las cosas dinámicas necesarias. Algunas de las cosas que hacen las vistas es extraer ciertos bits utilizando el sistema de plantillas de Underscore.jQuery Mobile problemas de representación con el contenido que se agrega después de que se inicializa la página
Todo esto es genial hasta que estoy tirando en bits de forma utilizando el sistema de plantillas. Por ejemplo, un conjunto de botones de radio dinámicos (que se generan a partir de una Colección Backbone). Estos botones de radio los quiero estilizar usando lo que jQuery Mobile tiene para ofrecer. Por el momento, jQuery Mobile no está recibiendo estos botones de radio inyectados dinámicamente. Resolví este problema previamente cuando hacía controles deslizantes simplemente llamando al widget de jQuery Mobile "slider()" de nuevo y parecía refrescarlos ... Esto no parece ser el caso con estos botones de opción.
en la estructura principal Ver, he intentado llamar a los métodos de widgets otra vez:
$(this.el).find("input[type='radio']").checkboxradio();
$(this.el).find(":jqmData(role='controlgroup')").controlgroup();
los probé al revés también, pero parecía que necesito para hacerlo de esta manera para el estilo de agrupación para trabajar, etc. ¡Pero esto no parece correcto! ... hacer esto también causó errores cuando hice clic en los botones de radio, diciendo: "no puedo llamar a los métodos en checkboxradio antes de la inicialización, intenté llamar al método 'refresh'"?
Parece que debería haber una forma en jQuery Mobile de reiniciar la página o algo así? Noté que hay un widget de 'página' en el código fuente.
¿Cómo maneja jQuery Mobile los formularios/elementos que se inyectan en el DOM después de que se crea la página? ¿Hay una forma clara de manejar cómo se forman los formularios? Debe haber una forma clara de invocar los formularios para representar "el camino jQuery Mobile" sin que solo dependa de las etiquetas de atributos de datos en el HTML base.
Cualquier ayuda o visión sobre este problema sería muy apreciada ... Estoy en esta búsqueda de intentar que Backbone JS y jQuery Mobile funcionen bien juntos.
Muchas gracias, James
Gracias. Seguí tus palabras. En este caso particular, tuve que usar $ (element) .page ("destroy"). Page() por alguna razón? Pero incluso esto no funcionó del todo. Retransmite el contenido correctamente, pero no funciona bien. Obteniendo el mismo error: "no se puede llamar a los métodos en casilla de verificación antes de la inicialización; se intentó llamar al método 'actualizar'" ... extraño. – littlejim84
'.page' se puede llamar una vez en un elemento. tienes que crear un div de envoltura alrededor del contenido que agregas dinámicamente. – naugtur
ugh, eso es stoopid. así que si tengo una página que es 100% ajax y quiero volver a cargar mis opciones una y otra vez, ¡tengo que crear un elemento de envoltura cada vez! debe ser una mejor manera. –