Écouter
bouton.addEventListener("click", () => document.body.classList.toggle("sombre"));
champ.addEventListener("input", (e) => console.log(e.target.value));
document.addEventListener("keydown", (e) => { if (e.key === "Escape") fermer(); });
Formulaire
form.addEventListener("submit", (e) => {
e.preventDefault();
const data = Object.fromEntries(new FormData(e.target));
});
Délégation
liste.addEventListener("click", (e) => {
const btn = e.target.closest("button.supprimer");
if (btn) btn.closest("li").remove();
});Un seul écouteur pour des éléments ajoutés dynamiquement. La validation côté navigateur ne remplace jamais celle du serveur. Suite : fetch et async/await.