Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: [u]nsigned en 25 Octubre 2014, 19:57 pm



Título: [jQuery]capturar eventos de elementos creados dinamicamente
Publicado por: [u]nsigned en 25 Octubre 2014, 19:57 pm
Hola, bueno les cuento que estoy haciendo una galeria. La misma cuenta con la posibilidad de subir archivos por ajax, cuando el archivo es subido, un script me de devuelve una variable y luego creo la imagen en la pagina. Tambien estoy integrando una funcion para borrar las imagenes (tambien por ajax).

El problema es el siguiente:

para borrar las imagenes llamo a un script via ajax. El mismo funciona perfectamente, pero cuando una imagen es creada dinamicamente no es asociada al bind previamente declarado. Como hago para que un bind de jquery se asocie a elementos creados dinamicamente?

Saludos


Título: Re: [jQuery]capturar eventos de elementos creados dinamicamente
Publicado por: JorgeEMX en 25 Octubre 2014, 20:41 pm
Debes usar body al principio. En la documentación viene un ejemplo en la parte final:

http://api.jquery.com/on/


Título: Re: [jQuery]capturar eventos de elementos creados dinamicamente
Publicado por: MinusFour en 26 Octubre 2014, 20:34 pm
Con jQuery es sencillo, agregas el handler a un elemento contenedor que nunca borres.

Código
  1. galeria.on('click'. 'img', function() {
  2.  
  3. });

Sin jQuery haces lo mismo, claro que la implementacion de los selectors es mucho más robusta en jQuery.

http://jsfiddle.net/t81rL0o5/2/