Foros del Web » Programando para Internet » Javascript »

Agregando evento a elemento dinamico

Estas en el tema de Agregando evento a elemento dinamico en el foro de Javascript en Foros del Web. Tengo un sistema para dar de alta y eliminar "temas" implementado con php y jquery, todas las llamadas a php funcionan correctamente, el problema radica ...
  #1 (permalink)  
Antiguo 29/08/2012, 08:48
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Agregando evento a elemento dinamico

Tengo un sistema para dar de alta y eliminar "temas" implementado con php y jquery, todas las llamadas a php funcionan correctamente, el problema radica en el js.

Con un botón para crear temas, que se van agregando a un listado inferior

esto lo hago con

Código Javascript:
Ver original
  1. $('#agregar_tema').click( function() {
  2.     var nuevo_tema = '<tr>'+nombre+'</tr>';
  3.     $('tabla').append(nuevo_tema);
  4. });

Luego para eliminarlos

Código Javascript:
Ver original
  1. $('tabla tr').click( function() {
  2.     $(this).remove();
  3. });

El problema es que en el listado inicial puedo eliminar sin problemas, pero si agrego un tr, y luego intento eliminarlo, el evento no se dispara, es decir puedo eliminar todos los tr menos los creados en el momento.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #2 (permalink)  
Antiguo 29/08/2012, 08:58
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Agregando evento a elemento dinamico

para esto debes usar delegate o on

Código Javascript:
Ver original
  1. $("#myTable").on("click", "tr", function(event){
  2.     alert($(this).text());
  3. });
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 29/08/2012, 09:09
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Respuesta: Agregando evento a elemento dinamico

delegate era lo que necesitaba,

(Description: Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements.)

desconocía su existencia. Le estaré siempre agradecido.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #4 (permalink)  
Antiguo 29/08/2012, 11:42
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Respuesta: Agregando evento a elemento dinamico

Los eventos sobre los nuevos elementos funcionan perfecto, pero si intento recuperar un val por ejemplo de un nuevo input creado, me da "undefined"

¿Que debería hacer en este caso?

Retiro la pregunta, era un error de lógica en el selector.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Última edición por h2swider; 29/08/2012 a las 12:41

Etiquetas: dinamico, elemento, evento, funcion, js, php
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 19:05.