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