Foros del Web » Programando para Internet » Javascript »

modificar event handler dinamicamente

Estas en el tema de modificar event handler dinamicamente en el foro de Javascript en Foros del Web. hola, hace tiempo que intento acabar de entender como cambiar la función que es llamada en un evento de algún tag. Me explico mejor: <IMG ...
  #1 (permalink)  
Antiguo 19/04/2004, 17:06
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 6 meses
Puntos: 0
modificar event handler dinamicamente

hola, hace tiempo que intento acabar de entender como cambiar la función que es llamada en un evento de algún tag.
Me explico mejor:

<IMG Id="img" src="bla bla" onchange="funcion();">

lo que intento hacer es que en determinado momento el event handler del IMG apunte a otra función, por ej.: función2();

he logrado hacerlo como dice aca:
http://www.forosdelweb.com/s4045392e...msg192323.html

TAG.onchange = función

el problema es que solo puedo poner el nombre de la función y si ésta recibe parámetros me veo obligado a recurrir inventos poco ortodoxos como definir otra función dentro de la función en la que estoy manejando la lógica y que esa segunda función llame a la que quiero que apunte el handler.
También intenté, sin éxito, vérmelas con el objeto function.

En pocas palabras, lo que quiero es definir TAG.onchange=funcion(param1, param2);
de una forma sencilla

Espero haberme explicado y que álguien sepa.
Gracias
  #2 (permalink)  
Antiguo 19/04/2004, 17:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola sindestino:

TAG.onchange = function(param1, param2) {
alert(param1 + ", " + param2),
}

Saludos
  #3 (permalink)  
Antiguo 20/04/2004, 05:27
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 6 meses
Puntos: 0
gracias por tu respuesta caricatos pero.... ¿y si la función ya la tengo definida? ¿no me queda más remedio que definir una nueva función que llame a esa?
  #4 (permalink)  
Antiguo 20/04/2004, 05:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola otra vez:

Una posibilidad es la que planteas, y la otra es redefinir la función para que recoja los parámetros de otra manera (como se hace en las precargas... por ejemplo...

function miFunction() {
datos = miFunction.arguments;
alert(datos.length);
// luego recoger los datos por el índice ... datos[0]... datos[datos.length - 1]
}

Saludos
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 06:24.