Retour à la leçon
Mission

Mission : la liste de tâches qui n'écoute pas les nouveaux éléments

Remplacer une attache de listeners un par un par une délégation d'événements, et corriger un stopPropagation mal placé.

Contexte

Sur l'application de tâches de Technologik, chaque <li class="tache"> reçoit un listener de clic individuel pour la marquer comme terminée. Problème : les tâches ajoutées dynamiquement après le chargement de la page (via un bouton "Ajouter") ne réagissent jamais au clic. Le code actuel :

js
document.querySelectorAll("li.tache").forEach((li) => {
  li.addEventListener("click", () => li.classList.toggle("terminee"));
});

Un second bug s'ajoute : un bouton "Supprimer" à l'intérieur de chaque tâche appelle event.stopPropagation(), mais un menu contextuel censé s'ouvrir sur le clic du conteneur parent ne s'ouvre plus jamais, même sur une zone vide de la liste.