Éste capítulo describe el Modelo De Evento (DOM) de nivel 2 como es implementado por Gecko. La propia interfaz de evento es descrita, así como las interfaces para el registro de evento sobre los nodos en el DOM, manipuladores y "oyentes" (listeners) de eventos y varios ejemplos mas extensos que muestran como las varias interfaces de evento se relacionan unas con las otras.
Los gestores de eventos pueden estar atados a varios elementos en el DOM. Cuando un evento ocurre, un objeto de evento es dinámicamente creado y pasado secuencialmente a las "escuchas" (listeners) autorizadas para la gestión del evento. La interfaz Event del DOM es entonces accesible por la función de manejo, vía el objeto de evento puesto como el primer (y único) argumento.
Hasta ahora nuestros scripts se ejecutan desde la primera instrucción hasta la última de forma secuencial. Gracias a las estructuras de control de flujo (if, switch, for, while, etc) es posible modificar ligeramente este comportamiento y repetir algunos trozos del script y saltarse otros trozos en función de algunas condiciones. Gracias a las funciones de usurio podemos ademas ejecutar en cualquier momento y trozo de script para hacer algo.
Ahora vamos a cambiar los papeles y el script va a "esperar" que el usuario haga algo (pulsar una techa, clic de mouse, cerra ventana, etc) y entonces actuaremos en consecuencia.
<html> <head> <title>Ejemplo de objeto con varios parámetros</title> <script type="text/javascript"> var par2 = 'hello'; var par3 = 'world!'; function muestraCoords(evt, p2, p3){ alert("clienteX value: " + evt.clientX + "\n" + "clientY value: " + evt.clientY + "\n" + "p2: " + p2 + "\n" + "p3: " + p3 + "\n" ); } </script> </head> <body onmousedown="muestraCoords(event, par2, par3)"> <p>Para ver las coordinadas del ratón haga clic en cualquier lugar de esta página.</p> </body> </html>