¿Qué son los eventos?

Introducción a la programación orientada a eventos


En programación, existen situaciones en las que necesitamos realizar una acción cuando ocurra un determinado caso que nos interesa. Si este caso es predecible, es decir, sabemos cuando va ocurrir, simplemente podemos utilizar un condicional if o algo similar, y listo. Pero existen ocasiones en las que desconoces cuando va a suceder.

En estas situaciones, no sabemos exactamente cuando tenemos que activar nuestra funcionalidad. Por ejemplo, no podemos predecir cuando el usuario de nuestra página hará click en un botón, o en que momento va a terminar de reproducirse una canción, si el usuario la ha pausado, etc.

En estas situaciones, cuando sucede algo, es cuando entran en juego los eventos.

¿Qué es un evento?

Un evento no es más que una «notificación» de que una característica relevante acaba de suceder.

Veamos algunos ejemplos sencillos de eventos:

  • Evento click: Se ha hecho click de ratón sobre un elemento de la página.
  • Evento keydown: Pulsación de una tecla específica del teclado
  • Evento play: Reproducción de un archivo de audio/video
  • Evento wheel: Scroll con la rueda del ratón sobre un elemento de la página
  • Evento beforeprint: El usuario ha activado la opción «Imprimir página»

Como desarrolladores, nuestro objetivo es preparar nuestro código para que cuando ocurra un determinado evento, se lleve a cabo una funcionalidad asociada. Este proceso se llama escuchar eventos. De esta forma, podemos preparar nuestra página o aplicación para que cuando ocurran ciertos eventos (que no podemos predecir de otra forma), reaccionen a ellos:

¿Qué es un evento Javascript?

Uno de los eventos más comunes, es el evento click, que es el que se produce cuando el usuario hace click con el ratón en un elemento de la página. Vamos a utilizar este evento a modo de ejemplo en las siguientes secciones de la página, pero recuerda que hay muchos tipos de eventos diferentes.

¿Por qué utilizar eventos?

Utilizar eventos en Javascript tiene muchísimas ventajas, ya que nos permite organizar nuestro código de una forma más lógica y clara, pero una de las principales ventajas es que desacoplamos nuestro código.

Entenderemos esto más adelante, pero básicamente los eventos nos permiten evitar dependencias entre partes de nuestro código. Con los eventos simplemente escuchamos si ocurre un cierto evento, y si ocurre, ejecutamos una acción. A priori, no nos importa quién emite ese evento o donde sucede, lo importante es que ha sucedido el evento.

Formas de manejar eventos

Existen varias formas alternativas de manejar eventos en Javascript. Vamos a ver cada una de ellas por separado, con sus particularidades, pero antes hagamos un pequeño resumen:

FormaEjemploArtículo en profundidad
🟨 Mediante atributos HTML<button onClick="..."></button>Eventos desde atributos HTML
🟥 Mediante propiedades Javascriptbutton.onclick = function() { ... }Eventos desde propiedades Javascript
✅ Mediante addEventListener()button.addEventListener("click", ...)Eventos desde listeners

Cada una de estas opciones son formas equivalentes y alternativas de manejar eventos. Cada una de ellas tiene sus ventajas y sus desventajas. En los siguientes temas veremos detalladamente sus características, pero por norma general, lo aconsejable es utilizar la última, los listeners, ya que son las más potentes y flexibles.

¿Quién soy yo?

Soy Manz, vivo en Tenerife (España) y soy streamer partner en Twitch y profesor. Me apasiona el universo de la programación web, el diseño y desarrollo web y la tecnología en general. Aunque soy full-stack, mi pasión es el front-end, la terminal y crear cosas divertidas y locas.

Puedes encontrar más sobre mi en Manz.dev