Foros del Web » Programando para Internet » Javascript »

Quien ejecuto el evento?

Estas en el tema de Quien ejecuto el evento? en el foro de Javascript en Foros del Web. Hola a todos, Tengo una función la cual es invocada en todos mis controles, Se podría identificar el ID de quien ejecuto el evento sin ...
  #1 (permalink)  
Antiguo 23/02/2009, 09:36
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Quien ejecuto el evento?

Hola a todos,

Tengo una función la cual es invocada en todos mis controles, Se podría identificar el ID de quien ejecuto el evento sin pasar ningún parámetro a mi función(Sin conocer el tipo de evento, ni el tipo de elemento...y compatible para FF e IE, y claro sin pasar un this en la llamada)?
  #2 (permalink)  
Antiguo 23/02/2009, 09:54
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Quien ejecuto el evento?

Podés saberlo mediante el objeto event.

Código javascript:
Ver original
  1. function algo(e){
  2. var e=e || window.event;
  3. var disparador=e.srcElement || e.target;
  4. alert(disparador.nodeName);
  5. }
Dependiendo de cómo invoques la función tendrás que enviar el parámetro event. Si los eventos los asignás vía DOM (attachEvent o addEventListener) no será necesario usar ese argumento en la mayoría de los casos.
  #3 (permalink)  
Antiguo 23/02/2009, 10:29
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Quien ejecuto el evento?

Yo tenía esto, pero no funciona para firefox...Solo para IE, habra forma de que corra en FF?

var e = (e) ? e : window.event ;
var target = (e.target) ? e.target : e.srcElement;
alert('El id:'+target.id);
  #4 (permalink)  
Antiguo 23/02/2009, 10:40
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Quien ejecuto el evento?

En Firefox funciona. Sólo hay que hay que pasar el argumento event:
Código javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Documento sin t&iacute;tulo</title>
  6. <script>
  7. function algo(e){
  8. var e=e || window.event;
  9. var disparador=e.srcElement || e.target;
  10. alert(disparador.nodeName);
  11. }
  12. </script>
  13. </head>
  14.  
  15. <body>
  16. <div onclick="algo(event)">click</div>
  17. </body>
  18. </html>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:50.