Curso de Javascript: Eventos

Listado de Eventos

A continuación veremos casi todos los eventos disponibles, su descripción, es decir, cuando se vana disparar y sorbe que elementos del HTML responden.

EventoDescripciónElementos para los que está definido
onblurDeseleccionar el elemento<button>, <input>, <label>,<select>, <textarea>, <body>
onchangeDeseleccionar un elemento que se ha modificado<input>, <select>, <textarea>
onclickPinchar y soltar el ratónTodos los elementos
ondblclickPinchar dos veces seguidas con el ratónTodos los elementos
onfocusSeleccionar un elemento<button>, <input>, <label>,<select>, <textarea>, <body>
onkeydownPulsar una tecla (sin soltar)Elementos de formulario y <body>
onkeypressPulsar una teclaElementos de formulario y <body>
onkeyupSoltar una tecla pulsadaElementos de formulario y <body>
onloadLa página se ha cargado completamente<body>
onmousedownPulsar (sin soltar) un botón del ratónTodos los elementos
onmousemoveMover el ratónTodos los elementos
onmouseoutEl ratón “sale” del elemento (pasa por encima de otro elemento)Todos los elementos
onmouseoverEl ratón “entra” en el elemento (pasa por encima del elemento)Todos los elementos
onmouseupSoltar el botón que estaba pulsado en el ratónTodos los elementos
onresetInicializar el formulario (borrar todos sus datos)<form>
onresizeSe ha modificado el tamaño de la ventana del navegador<body>
onselectSeleccionar un texto<input>, <textarea>
onsubmitEnviar el formulario<form>
onunloadSe abandona la página (por ejemplo al cerrar el navegador)<body>

Manejo de Eventos

Para gestionar los eventos es necesario conocer de antemano sobre que elemento queremos cambiar su comportamiento, para ello usaremos el método getElementById(), donde indicaremos como parámetro el nombre del ID que buscamos en el DOM. Una vez tenemos una variable con el elemento deberemos ejecutar el método addEventListener(), al cual le pasamos tres parámetros, nos importan los dos primeros, uno es el nombre del evento, sin el on delante y el segundo parámetro es el nombre de la función que se ejecutará ante ese evento.

En los ejemplos que veremos a continuación se mostrará el código HTML con el que vayamos a interactuar y el código JS correspondiente. Por simplificar la edición se ha eliminado la etiqueta

Un evento básico

En el siguiente ejemplo veremos el funcionamiento general de la modificación de los eventos Se declara en el html un botón con el id=“boton” desde JS localizamos el elemento con el getElementById(“boton”), llamamos al método addEventListener, le pasamos como primer parámetro el evento a modificar, en este caso el onclick, eliminamos el on, y dejamos el click y luego le aplicamos la función hazAlgo. De esta manera cada vez que pulsamos el botón sacará un mensaje por consola.

<button id**=**“boton”>Pulsame</button>

//código JS

function hazAlgo**()**{

  console.log("He hecho algo");

  }

document.getElementById(“boton”).addEventListener(“click”, hazAlgo,false);

Carga del documento

Unas vez conocida la mecánica de la gestión del evento, es necesario conocer dos de los principales eventos en la carga de una página en el navegador, estos son load y DOMContentLoaded.

DOMContentLoaded es el evento que se dispara cuando se ha terminado de leer el documento HTML desde el servidor. Si queremos incluir el código JS para modificar cualquier elemento que esté presente en el HTML será necesario esperar a que este evento se dispare.

Por otra parte está onload, que se disparará cuando se terminen de cargar todos aquellos elementos relacionados con el HTML, es decir CSS, JS, Imágenes, etc… Si tenemos que interactuar contra imágenes es necesario esperar al evento onload.

Veamos dos ejemplo de uso, uno de cada uno de los dos eventos indicados: