Foros del Web » Programando para Internet » Jquery »

refrescar jquery: Elementos creados a partir de jquery pierden su programación

Estas en el tema de refrescar jquery: Elementos creados a partir de jquery pierden su programación en el foro de Jquery en Foros del Web. Upps no se como llamar a esto verán es sencillo: Para este ejemplo supongamos un div con un class="leerdesdejq" @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver ...
  #1 (permalink)  
Antiguo 21/07/2012, 12:44
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 8 meses
Puntos: 188
refrescar jquery: Elementos creados a partir de jquery pierden su programación

Upps no se como llamar a esto verán es sencillo:

Para este ejemplo supongamos un div con un class="leerdesdejq"

Código Javascript:
Ver original
  1. $(function(){
  2.  
  3. $(".leerdesdejq").click(function(){
  4.  
  5. alert("se ha leido");
  6.  
  7. });
  8.  
  9. });

Código HTML:
Ver original
  1. <div class="leerdesdejq"></div>

Eventualmente funciona. Pero si el elemento <div> es agregado desde jquery no lo hace.

Sucede que estoy haciendo una búsqueda ajax y estos elementos los agrego .html() a un contenedor div, cuando hago esto ya no está disponible el .click(). Yo entiendo por que pasa. Es por que el $(function(){}) se utiliza cuando el documento es cargado y ya que está cargado los nuevos divs creados a partir de una búsqueda ajax ya no son identificados pero debe existir alguna forma de "refrescar" el jquery o hacer algo para que esto funcione siempre aún cuando el documento se terminó de cargar

Muchas gracias.

P.D: Lo que oy siempre he hecho ah sido asociando eventos a los elementos creados dinamicamente pero no existe otra forma... esto es muy largo o ¿Cómo lo hacen ustedes?
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.

Última edición por iovan; 21/07/2012 a las 12:52
  #2 (permalink)  
Antiguo 21/07/2012, 16:47
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 8 meses
Puntos: 188
Respuesta: refrescar jquery: Elementos creados a partir de jquery pierden su programa

Mmm... Bueno existe live y delegate. No conocía delegate voy a probarlo . Saben si delegate Funciona completamente o es como live?
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #3 (permalink)  
Antiguo 22/07/2012, 00:57
 
Fecha de Ingreso: abril-2008
Mensajes: 13
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: refrescar jquery: Elementos creados a partir de jquery pierden su programa

Funciona perfectamente usando live, no me acuerdo conceptualmente que hace exactamente Live, pero la idea es que sirve para elementos creados dinamicamente ya que asigna eventos para los que existen y los posibles que existirán en un futuro.
Tu sintaxis sería algo así:
Código PHP:
$(".leerdesdejq").live("click", function(){
alert("se ha leido");
}); 
Te dejo la documentación de Jquery Live.
http://api.jquery.com/live/

Suerte.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:29.