El DOM: Modelo dinámico de objetos

El DOM
Una visión general
Mapa del DOM
Window
Document
Eventos
 
Señalizando: los eventos

El código Javascript incluido en una página web pueden ejecutarse de tres maneras:

  • En línea a medida que se carga la página
    • Todo el código escrito fuera del ámbito de una función se ejecuta según es leido por el navegador. Este código no puede hacer referencia a ningun elemento del documento sin asegurarse que ese elemento ha sido cargado.
  • Por llamada directa desde otro script en funcionamiento
    • En la página del documento pueden existir, encerrados en sus etiquetas Script, código de ejecución en línea que llame a funciones previamente definidas.
  • Por activación a través de un evento.
    • Cuando el explorador avisa de un cambio en el documento o la ventana se produce un evento que lanza la función asociada.

Las dos primeras formas no tienen ningún misterio, tan sólo en el tercer caso es necesario ahondar un poco mas en el comportamiento del navegador. Como ya sabrás un evento es indicación de que ha ocurrido un cambio: el usuario ha pulsado el ratón, o se ha producido un pulso de reloj, o se ha terminado de cargar la página. De aquí deducirás que existen dos tipos de eventos:los de usuario y los del sistema, una clasificación que no afecta para nada a su tratamiento. Lo que debemos saber es que todos los elementos de la ventana pueden dar lugar a eventos. Un mismo evento pueden ser lanzado por varios elementos si estos están anidados, unos dentro de otros; en efecto el evento lanzado por el elemento mas interno asciende por los elementos que lo contengan hasta llegar al elemento padre, al document. Otro aspecto a tener en cuenta es que existen manejadores de eventos predeterminados, de manera que si no lo evitamos un cierto evento puede provocar dos efectos el predeterminado y el diseñado por el programador.
¿Y como trata el Javascript a los eventos? Pues como era de prever mediante un objeto, el objeto event. Sabiendo esto casi podemos adivinar como vincular eventos a las funciones que los controlen: en general basta una simple asignación del tipo tipo_de_evento = función.
Aunque todos los elementos de la página puedan lanzar eventos, cada elemento sólo posee un cierto grupo de estos. Por ejemplo, un elemento link de la página puede disparar el evento onclick (pulsación del botón del ratón) pero no tiene el evento onLoad (indicación de fin de la carga de un elemento).

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