Estoy probando pjax para una aplicación que estoy desarrollando, pero he chocado un poco contra la pared.document.ready no activado con pjax
Tal vez estoy haciendo esto de la manera incorrecta, déjame explicarte.
En la aplicación, tengo un menú principal en la parte superior, con las diferentes secciones. Cada uno de los enlaces en este menú está habilitado para pjax, lo que significa que solo cambiará el cuerpo de la aplicación.
Normalmente, cuando hace clic en un enlace sin pjax, se iniciará el método document.ready. Lo uso para vincular eventos a botones como el siguiente ejemplo.
aquí es mi archivo users.js.coffee
loaded = false;
$ ->
$("#btn_new_user").bind "click", (event) ->
if not loaded
@path = $('#btn_new_user').attr("path")
$("#new-users-container").load(@path)
loaded = true
$("#new-users-container").slideToggle()
Como se puede ver en este ejemplo, cuando los "usuarios" de la página termine de cargar, se unirá un botón con un evento que se carga un formulario en un div y animalo para mostrarlo.
Sin embargo, cuando comienzo en una sección diferente del administrador y hago clic en el enlace Usuarios para mostrar este botón, el evento no está enlazado. Cuando vuelvo a cargar la página en la sección Usuarios, el documento se activa y el botón funciona bien.
¿Hay una mejor técnica para enlazar los eventos a los botones o hay alguna forma de activar document.ready en pjax?
Gracias.
Es este pjax o ajax, estoy viendo pjax por primera vez – defau1t
esto es coffeescript, es una forma simplificada de escribir javascript. pjax es solo un complemento de rails que simplifica y acelera la carga de páginas. –
La solución para esta pregunta podría ser útil: http://stackoverflow.com/q/9696119/404623 –