Gestione degli eventi
Gestione degli eventi in JavaScript
Gli eventi sono meccanismi che permettono di reagire alle azioni dell’utente, come un clic o la pressione di un tasto. Attraverso i gestori di eventi possiamo eseguire codice al verificarsi di queste azioni, rendendo dinamica e interattiva la pagina web.
Introduzione agli eventi
Gli eventi sono notifiche che il browser invia quando accadono determinate azioni. Possiamo "ascoltarle" e rispondere tramite funzioni chiamate gestori di eventi. Vediamo come funzionano e i principali metodi di utilizzo.
- onclick – evento scatenato da un clic su un elemento.
- onmouseover – quando il puntatore passa sopra un elemento.
- onkeydown – quando un tasto della tastiera viene premuto.
Gestione eventi con attributo HTML
Un metodo semplice ma meno consigliato è inserire direttamente l’attributo onclick
(o simili) nell’HTML. In questo modo il codice JavaScript viene legato all’elemento stesso.
Codice Esempio: evento inline
Gestione eventi con proprietà JavaScript
Un approccio migliore è associare la funzione al gestore tramite JavaScript, usando le proprietà dell’elemento come onclick
.
Codice Esempio: proprietà evento

// seleziono il bottone
let btn = document.getElementById("mioBottone");
// associo una funzione all'evento onclick
btn.onclick = function() {
alert("Hai premuto il bottone!");
};
Gestione eventi con addEventListener
Il metodo più flessibile e moderno è addEventListener()
, che permette di aggiungere più gestori allo stesso evento e separare meglio HTML da JavaScript.
Codice Esempio: addEventListener

// seleziono l'elemento
let titolo = document.getElementById("titolo");
// aggiungo un evento di click
titolo.addEventListener("click", function() {
titolo.style.color = "red"; // cambia il colore del testo
});
Tabella riassuntiva
Metodo | Descrizione | Esempio |
---|---|---|
Attributo HTML | Evento inserito direttamente nel tag HTML. | <button onclick="funzione()"> |
Proprietà JS | Funzione assegnata a una proprietà come onclick . | elemento.onclick = funzione; |
addEventListener | Metodo moderno, consente più gestori e maggiore flessibilità. | elemento.addEventListener("click", funzione); |
Considerazioni
La gestione degli eventi è alla base dell’interattività delle pagine web. Tra i vari metodi, addEventListener
è quello consigliato perché più potente e flessibile, mentre l’uso di attributi HTML è ormai sconsigliato.
Tabella riassuntiva eventi DOM per categoria
Categoria | Eventi principali | Descrizione |
---|---|---|
Mouse | click, dblclick, mouseover, mouseout, mousemove, mousedown, mouseup | Rilevano le azioni del mouse: un singolo o doppio clic, il passaggio sopra un elemento, lo spostamento o la pressione dei pulsanti. |
Tastiera | keydown, keyup, keypress | Gestiscono la pressione dei tasti: quando un tasto viene premuto, mantenuto o rilasciato. |
Form | submit, change, input, focus, blur, reset | Interagiscono con i campi di un modulo: invio, modifica dei valori, scrittura, messa a fuoco o perdita di selezione. |
Finestra | load, resize, scroll, beforeunload, unload | Si attivano quando la pagina viene caricata, ridimensionata, fatta scorrere o chiusa dal browser. |
Clipboard | copy, cut, paste | Controllano le operazioni di copia, taglio e incolla di contenuti negli elementi. |
Drag & Drop | drag, dragstart, dragover, drop, dragend | Servono per gestire il trascinamento di un elemento e il rilascio in un’area valida. |
Touch (mobile) | touchstart, touchmove, touchend, touchcancel | Utilizzati su dispositivi touchscreen: tocco iniziale, movimento del dito, rilascio o annullamento. |
Media | play, pause, ended, volumechange, timeupdate | Segnalano lo stato di riproduzione di audio e video: avvio, pausa, fine, variazione volume o avanzamento del tempo. |
CSS Animazioni | animationstart, animationend, transitionend | Permettono di sapere quando un’animazione CSS inizia, termina o quando una transizione è conclusa. |