Eventos

Eventos
Eventos
Vincular
Controladores
Ratón y teclado
Temporizadores
El objeto event
 
Responder a los eventos
La vinculación de eventos no es mas que asignar una función escrita en javascript a un evento concreto, de manera que cuando se dispare éste la función entre en funcionamiento. Estas funciones se definirán en alguna parte de la página o en un archivo ligado a ella. La vinculación de eventos puede realizarse en línea dentro del código HTML de la página, asignando al nombre del evento una cadena con el nombre de la función, como en el ejemplo:

<img src="bola.gif" onmouseover = "ctrlEv()">

En el ejemplo ctrlEv( ) es la función que reaccionará cuando el ratón pase sobre la imagen, o sea, cuando se produzca el evento onmouseover sobre la imagen. La función puede llevar argumentos definidos por nosotros, existiendo un argumento especial que señala al objeto sobre el que se produce el evento, se trata del objeto this. Si usamos este parámetro al llamar a la función ésta lo trata como el elemento donde se ha disparado el evento.
Otra forma de vincular funciones controladoras es mediante código Javascript. En este caso lo que hacemos es tratar el evento como una propiedad del objeto HTML y asignarle directamente una instancia de la función

document.images[0].onmouseover=new Function("ctrlEv( )")

o asignándole un puntero a la función

document.images[0].onmouseover = ctrlEv;

En el segundo caso asignamos una instancia de la función, si le pasamos el argumento this la función lo tomaría como el objeto que dispara el evento. En el tercer caso sin embargo lo que asignamos al evento es un puntero a la función, o sea, la direción de memoria donde se aloja la función, sin parámetros. En este caso el puntero this se asigna automáticamente y dentro del cuerpo de la función this equivale al objeto que dispara el evento sin necesidad de argumentos.
Si se desea evitar que se ejecute el controlador por defecto de un evento pueden seguirse dos métodos:

Asignar false a la propiedad event.returnValue dentro de la rutina manejador adel evento,


Incluir en la asignación la sentencia return false, esta sentencia irá tras el nombre de la función vinculada.
Este último sistema es compatible con Netscape y por tanto recomendable. Por ejemplo en un enlace el controlador por defecto del evento click es llevar el navegador a la dirección indicada en el argumento href, pero podemos evitar esto:
< a href="destino.htm" onclick="alert('Mensaje de aviso'); return false">
Pulsa aquí
< /a>
Al pulsar sobre el enlace no irá a la página destino.htm sino que abrirá una ventana de aviso. Esto puede ser útil si, en lugar de la ventana de aviso, usamos una función que, por ejemplo, de un valor al enlace dependiente de la hora del día o del usuario

Envía esta página a un amigo. Te lo agradecerá.   Poner esta página como página de inicio