Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] onclick dentro de innerHTML

Estas en el tema de onclick dentro de innerHTML en el foro de Javascript en Foros del Web. Hola, necesito ayuda con un elemento creado con innerHTML; son varios elementos, pero necesito que al hacer clic en alguno se ejecute una funcion. Por ...
  #1 (permalink)  
Antiguo 22/12/2015, 12:24
Avatar de Maddenamy  
Fecha de Ingreso: diciembre-2014
Mensajes: 32
Antigüedad: 9 años, 4 meses
Puntos: 1
Pregunta onclick dentro de innerHTML

Hola, necesito ayuda con un elemento creado con innerHTML; son varios elementos, pero necesito que al hacer clic en alguno se ejecute una funcion.
Por ejemplo, el siguiente codigo.
Código HTML:
Ver original
  1. <div id="nombre"></div>
  2. <div id="lista"></div>
Código Javascript:
Ver original
  1. var personas = ['persona1', 'persona2'];
  2.     for(i = 0; i < personas.length; i++){
  3.         document.getElementById('lista').innerHTML += '<a href="#" onclick="ver(this.id);" id="'+personas[i]+'">'+personas[i]+'</a>';
  4.     }
  5.     function ver(id){
  6.         document.getElementById('nombre').innerHTML = id;
  7.     }
Pero no funciona, ¿cómo puedo hacer que ejecute la función?.
Gracias,
__________________
Twitter: @maddenamy_
  #2 (permalink)  
Antiguo 22/12/2015, 18:28
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: onclick dentro de innerHTML

Lo conveniente es delegar el evento al documento y asignar una clase a los elementos creados dinámicamente, de tal forma que al producirse el clic, se verificará que el elemento afectado posea la clase en cuestión y de cumplirse dicha condición, se realizarán las acciones pertinentes.

Código Javascript:
Ver original
  1. document.addEventListener("click", function(event){
  2.     if (event.target.className == "la clase"){
  3.         //Tus instrucciones
  4.     }
  5. }, false);

De cualquier modo, sería preferible que utilizaras otros elementos en lugar de enlaces pues su propósito es el de redireccionar o anclar. Puedes usar elementos inline como los <label> o <span>.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 22/12/2015, 19:29
Avatar de Maddenamy  
Fecha de Ingreso: diciembre-2014
Mensajes: 32
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: onclick dentro de innerHTML

Muchas gracias, me funciono de maravilla.
Cita:
sería preferible que utilizaras otros elementos en lugar de enlaces pues su propósito es el de redireccionar o anclar. Puedes usar elementos inline como los <label> o <span>
Gracias, lo cambiare.

Saludos.
__________________
Twitter: @maddenamy_

Etiquetas: funcion, innerhtml, onclick
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 09:35.