Foros del Web » Programando para Internet » Javascript » Frameworks JS »

El nuevo contenido HTML no interactua

Estas en el tema de El nuevo contenido HTML no interactua en el foro de Frameworks JS en Foros del Web. Buenas. Mediante el método .append() de JQuery, añado unos div a la página. Código: jQuery('#lista').append('<div id="caja">Hola</div>'); Código HTML: <div id= "caja" > Hola </div> Pero ...
  #1 (permalink)  
Antiguo 21/01/2012, 12:47
 
Fecha de Ingreso: mayo-2009
Mensajes: 35
Antigüedad: 14 años, 11 meses
Puntos: 1
El nuevo contenido HTML no interactua

Buenas.

Mediante el método .append() de JQuery, añado unos div a la página.

Código:
jQuery('#lista').append('<div id="caja">Hola</div>');
Código HTML:
<div id="caja">Hola</div> 
Pero cuando intento conseguir los eventos de si entra el ratón en ese div o si hago click sobre el div no los consigo.
Código:
$("#caja").click(function() {});
En cambio si ese div lo he cargado con la página inicial y el evento lo tengo metido en $(document).ready(function() {}); Si se ejecuta

Me gustaría saber que tengo que hacer para que se ejecuten tales eventos sobre el div una vez inserte este mediante el método .append()
  #2 (permalink)  
Antiguo 21/01/2012, 20:40
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: El nuevo contenido HTML no interactua

Cuando usas append, o añades nuevo contenido desde ajax, ese nuevo contenido no estaba disponible al momento de cargar la pagina, por lo tanto no tiene asignados dichos eventos, te recuerdo que el hecho de que jquery use clases CSS para asignación en masa no quiere decir que js haga lo mismo, eso es propio de jquery

Las soluciones son simples, o vuelves a asignar de nuevo los eventos, o simplemente utilizas jquery.live() que hace que automáticamente jquery se encargue de añadir los eventos a elementos nuevos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 23/01/2012, 10:43
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: El nuevo contenido HTML no interactua

La asignación de eventos se hace solo a los elementos que existen al momento de llamar a la creación del evento.

no se asigna dinámicamente a todos los elementos de las mismas caracteristicas creados posteriormente, para eso debes volver a asignarle los eventos a esots nuevos elementos.

por lo general la reasignación de eventos se hace en una función que los inicializa nuevamente y la llamas luego de cargados los nuevos elementos.

saludos.

Etiquetas: contenido, html, jquery
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 01:43.