Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/12/2011, 14:09
Dago1988
 
Fecha de Ingreso: noviembre-2009
Mensajes: 15
Antigüedad: 15 años, 2 meses
Puntos: 0
De acuerdo Respuesta: Problema con addEventListener

Ya lo solucioné, gracias zerokilled por la ayuda.
Esto que sigue no funciona porque según pude averiguar, al pasar parámetros para una función usada en addEventListener, estos deben ser variables globales, por lo que no se puede pasar parámetros generados por el bucle en una función (ya que son variables locales).
Código:
        for ( var $k = 0 ; $k < $links.length ; $k++ )
        {
          alert($links[$k].id)
          $links[$k].addEventListener('click', function(){muestraOculta($links[$k].id);}, false);
        };
Hice así y me funcionó (almenos en Chrome):


Código:
        for ( var $k = 0 ; $k < $links.length ; $k++ )
        {
          $links[$k].addEventListener('click', function(){muestraOculta(this.id);}, false);
        };
En vez de usar la variable del bucle for utilizé la variable this que, creo, representa al elemento que desencadenó el evento.
Gracias y saludos.