Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/01/2014, 21:44
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: ¿Cómo hacer que el argumento de una función reconozca un evento?

Asigna dinámicamente el evento a los Divs:

Código Javascript:
Ver original
  1. var divs = document.getElementsByClassName("x"),
  2.     total = divs.length;
  3.  
  4. for (i = 0; i < total; i++){
  5.   (function(indice){
  6.       divs[indice].addEventListener("click", function(){
  7.           alert(this.title);
  8.       }, false);
  9.   })(i);
  10. }

Primero, tomo todos los elementos con la clase "x" y hallo la cantidad que representan. Luego, con ayuda de un bucle For y el método addEventListener, asigno un evento escuchador a cada Div, en donde al producirse un clic en cada uno de ellos, se ejecutará una función en la que se mostrará su título en un mensaje de alerta. Utilizo una función anónima autoejecutable para asignar correctamente el evento y función a cada Div.

Así se ve en ejecución: http://jsbin.com/ESuKoYex/1

Saludos
__________________
«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