Foros del Web » Programando para Internet » Jquery »

Problema con los eventos al crear nuevos elementos

Estas en el tema de Problema con los eventos al crear nuevos elementos en el foro de Jquery en Foros del Web. Saludos, Tengo un problema con un script hecho en jquery. Desde jquery tengo que cuando haga click sobre los elementos de la clase libre, haga ...
  #1 (permalink)  
Antiguo 07/01/2013, 06:49
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 8 meses
Puntos: 5
Pregunta Problema con los eventos al crear nuevos elementos

Saludos,

Tengo un problema con un script hecho en jquery. Desde jquery tengo que cuando haga click sobre los elementos de la clase libre, haga una serie de acciones, si pongo los elementos directamente en el html no hay problema, pero como esos elementos son variables, los he creado directamente desde jquery con la siguiente función:

Código:
            function inicializar(x,y){
                total = x * y;
                for (var a=1;a<=total;a++){
                    $('#mapa').append('<li id="espacio_'+a+'" class="libre"></li>');
                    if(a % x == 0){$('#mapa').append('<br class="clear">');}
                }
            }
Ahora el problema es que no le asocia a la clase libre lo que tiene que hacer. ¿Alguien sabe como solucionarlo? Muchísimas gracias por adelantado.
  #2 (permalink)  
Antiguo 07/01/2013, 06:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Problema con los eventos al crear nuevos elementos

Debes asociar el listener después de que hayas creado los elementos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/01/2013, 07:01
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 8 meses
Puntos: 5
Respuesta: Problema con los eventos al crear nuevos elementos

Ok, ahora el problema es que como eso es variable, tengo que digamos destruirlo y volverlo a construir con el tamaño que sea correcto. Como asocio el listener con lo que te acabo de contar? Muchísimas gracias de nuevo por adelantado!
  #4 (permalink)  
Antiguo 07/01/2013, 07:06
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Problema con los eventos al crear nuevos elementos

No entiendo muy bien, ¿en qué momento lo destruyes y vuelves a construir? Muestra el código.

De todos modos, también tienes la opción de usar un evento delegado:
Código Javascript:
Ver original
  1. $("#mapa").on("click", ".libre", function(e) {
  2.     // Click en un elemento con la clase "libre"
  3. });
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 07/01/2013, 07:29
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 8 meses
Puntos: 5
Respuesta: Problema con los eventos al crear nuevos elementos

Ey muchas gracias por este último código con el he conseguido que funcione. Yo lo que hacía era crear un mapa básico y luego la gente podía cambiarlo por el que quisiera y por eso destruía con un remove los elementos del ul y luego los creaba de nuevo con el tamaño exigido.

No conocía lo de los eventos delegados, muchas gracias por la información, me ha ido de fabula ;)

Etiquetas: html5, javascript
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 23:39.