Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2014, 20:29
Avatar de berkeleyPunk
berkeleyPunk
 
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 12 años
Puntos: 22
Pregunta ¿Cómo hacer que el argumento de una función reconozca un evento?

Buena noche.

Supongamos que tenemos una función con un argumento, y que esta función la llamamos en el body onload. ¿Cómo le hacemos para que el argumento identifique algún elemento dentro del body al que se le da un clic?

Ejemplo:
Código HTML:
Ver original
  1. <div class="x" title="caja_1">  </div>
  2. <div class="x" title="caja_2">  </div>
  3. <div class="x" title="caja_3">  </div>


Código Javascript:
Ver original
  1. function miFuncion(title)
  2. {
  3.     if( title == "caja_1" )
  4.     {
  5.         alert("Caja 1");
  6.     }
  7.     else if( title == "caja_2" )
  8.     {
  9.         alert("Caja 2");
  10.     }
  11.     else if( title == "caja_3" )
  12.     {
  13.         alert("Caja 3");
  14.     }
  15. }

Este código funciona perfectamente si añadimos el sig manejador de eventos al HTML: onclick="miFuncion(this.title)"


Ahora, supongamos que no necesitamos lo anterior, sino llamar la función dentro del body onload. ¿Cómo le hacemos para que el argumento de la función reconozca el evento en los divs?

Lo siguiente evidentemente no funciona, pero es una idea de lo que quiero:
Código HTML:
Ver original
  1. <body onload='document.getElementsByClassName("x").addEventListener("click", miFuncion(this.title), false)'>

Saludos cordiales


Última edición por berkeleyPunk; 17/01/2014 a las 20:37