Hola,

Juan José Montes de Oca Arbós escribió:
 > Hola, tengo la siguiente duda.
 >
 > Tengo dos objetos HTML que ambos llaman a la misma función javascript.
 > Quería saber si puedo identificar el objeto que ejecutó dicha 
función, sin
 > pasarle agregar ningun parametro de ningún tipo.
 >
 >
 > <html>
 >    <head>
 >      <script language="javascript">
 >          function prueba () {
 >            var sQuienLlamo = prueba.caller.id; //Esto no me devuelve 
nada...
 >          }
 >      </script>
 >    </head>
 >    <body>
 >      <img id="imagen1" src="" onclick="prueba ();" />
 >      <img id="imagen2" src="" onclick="prueba ();" />
 >    </body>
 > </html>
 >
 > Lo que quiero hacer, es que al hacer click sobre la imagen 1, me muestre
 > IMAGEN1; y al presionar sobre la imágen 2, me muestre IMAGEN2, sin 
pasarle
 > ningún argumento a la función.
 >
 >   
puedes utilizar la palabra reservada this para referirte al objeto que
está ejecutando la función. Para que funcione de este modo no puedes
registrar el evento en linea (escribiendo el onclick directamente en el
HTML) sino que debes hacerlo asignándoselo mediante javascript, por ejemplo:

document.getElementById('imagen1').onclick=prueba;

o bien:

document.getElementById('imagen1').addEventListener("click",prueba,false);

Esta última opción no funciona igual en todos los navegadores, así que
te recomiendo que empieces por la primera. Aquí tienes más información
al respecto:

http://www.quirksmode.org/js/introevents.html
http://www.quirksmode.org/js/this.html


_______________________________________________
javaEScript mailing list
javaEScript@scriptia.net
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net

Responder a