Skip to main content

Esdeveniments del DOM: Ratolí, Teclat i Formularis

Els esdeveniments permeten que una pàgina web sigui interactiva i pugui respondre a accions de l'usuari com clics, tecles, moviments del ratolí o enviament de formularis.


Com escoltar esdeveniments

addEventListener()

element.addEventListener("click", function () {
console.log("S'ha fet clic!");
});

Assignació directa

<button onclick="miFuncio()">Clicka'm</button>
function miFuncio() {
console.log("Botó clicat");
}

🔎 Millor pràctica?

  • addEventListener() separa HTML i JS → millor mantenibilitat
  • Reutilitzable, permet afegir múltiples o eliminar escoltadors

Esdeveniments de Ratolí

EsdevenimentDescripció
clickClic amb botó esquerre
dblclickDoble clic
mousedownQuan es prem un botó
mouseupQuan es deixa de prémer
mousemoveQuan es mou el ratolí
wheelQuan es fa scroll
drag/dropPer arrossegar i deixar anar

Exemple:

boton.addEventListener("click", function () {
console.log("Click detectat!");
});

Activitat 1

Crea dos botons:

  • Un fa servir addEventListener()
  • L'altre fa servir onclick en HTML

Tots dos criden la mateixa funció que rep un missatge com a paràmetre i el mostra per consola.


Activitat 2

Quan es fa clic al botó:

  • Canvia background-color a blau
  • Canvia el color del text a blanc

Esdeveniments de Teclat

EsdevenimentDescripció
keydownQuan es prema una tecla
keyupQuan es solta una tecla

Exemple:

document.addEventListener("keydown", (event) => {
if (event.key === "Enter") {
alert("Premut Enter!");
}
});

Activitat 3

Quan premem qualsevol tecla, hem de mostrar en temps real el nom de la tecla (event.key).


Activitat 4

Tenim diverses caixes i una està marcada amb la classe active.

  • Amb la tecla fletxa esquerra mourem la classe cap a l’esquerra
  • Amb la fletxa dreta, cap a la dreta
  • No podem sortir dels extrems

Activitat 5

Igual que l’anterior, però si arribem a l’última i premem → tornem al principi (i viceversa).


Esdeveniments de Formulari

EsdevenimentDescripció
submitQuan s’envia un formulari
changeQuan un input canvia i es desenfoca
inputCada cop que l’usuari escriu o modifica
focusQuan un input rep el focus (selecció)
blurQuan un input perd el focus

Exemple amb submit

form.addEventListener("submit", function (event) {
event.preventDefault();
console.log("Formulari enviat");
});

Activitat 6

Crea un formulari amb 3 camps.

  • Mostra errors personalitzats si algun camp no és vàlid
  • Utilitza focus, blur, input per ajudar l’usuari
  • No deixis enviar si hi ha errors

Aquest capítol t’ajuda a crear interfícies interactives, capturant esdeveniments de l’usuari i responent de forma dinàmica.