Comunidad de diseño web y desarrollo en internet online

widgets jQuery UI no funcionan con página de contenido dinámico.

Citar            
MensajeEscrito el 10 Nov 2012 12:21 pm
Hola.
No tengo mucha experiencia con Javascript y seguramente se trate de un error simple.
Estoy haciendo pruebas usando un framework llamado Backbone.js y básicamente, lo que quiero conseguir es añadir y quitar contenido en la página pulsando un botón u otro. Con contenido simple como texto no tengo ningún problema, pero al añadir contenido más complejo como son los widgets (slider o tabs) de jQuery UI, se añaden y se quitan bien, pero no funcionan. Es decir no se puede navegar por las tabs de uno ni se puede mover la barra del slider del otro. Parece que estuvieran estáticas y no accesibles.

Como curiosidad: Haciendo pruebas, me he dado cuenta que si pongo un botón que al pulsarlo se añada un widget y si lo vuelvo a pulsar se añade uno igual al lado del otro y así sucesivamente, si añado solo uno, el widget no funciona, pero si añado más, el primero que añadí, funciona aparentemente y los demás ninguno.

Para que os hagáis una idea, tengo un archivo.js que facilita poder agregar y quitar contenido y un html donde está el siguiente script para el slider:

Código Javascript :

<script type="text/javascript">
        $( document ).on( "ready",function( e ) { 
         $("#anadir").on("click",function (e) {  
            $( "#slider" ).slider();
         });   
        }); 
</script>

Nota: Poniendo el "ready" o no, hace lo mismo.
Confío en que el problema pueda estar en este código, si no tendré que poner el código de backbone.js

Espero que puedan ayudarme.

Un saludo. ;-)

Por vicenrele

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Nov 2012 01:55 pm
Solucionado. Por si a alguien le sirve de ayuda:
El método para invocar el widget debía ser llamado, evidentemente, justo después de cargar el html del nuevo contenido y no al cargar la página o al presionar el botón como tenía puesto yo. Porque el elemento #slider todavía no es reconocido en el momento de hacer "click".

Saludos!

Por vicenrele

17 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.