Événements sur éléments ajoutés dynamiquement

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
annawonka
Messages : 1
Enregistré le : 25 mai 2026, 09:02

Événements sur éléments ajoutés dynamiquement

Message par annawonka » 25 mai 2026, 09:04

Bonjour, Smash Karts Game

Je travaille sur une page où des éléments sont ajoutés automatiquement après le chargement des données depuis une API. Je voudrais ajouter des événements click sur ces nouveaux éléments, mais après plusieurs mises à jour, certains clics semblent se déclencher plusieurs fois.

Dans ce type de situation, quelle est la meilleure méthode à utiliser pour éviter ce problème : observer les changements du DOM ou utiliser une autre approche comme la délégation d’événements ? J’aimerais comprendre quelle solution est la plus propre pour une application avec du contenu mis à jour fréquemment.

melomane
Messages : 5
Enregistré le : 02 mars 2026, 00:09

Re: Événements sur éléments ajoutés dynamiquement

Message par melomane » 03 juin 2026, 11:16

bonjour
tu ne semble pas maîtriser l'ensemble il faudrait savoir d’où vient l'erreur

sprunkiincredibox
Messages : 1
Enregistré le : 09 juin 2026, 05:49

Re: Événements sur éléments ajoutés dynamiquement

Message par sprunkiincredibox » 09 juin 2026, 05:51

Cette approche évite complètement les problèmes de duplication de listeners, Sprunki puisqu’on ne réattache pas d’événements à chaque rendu du DOM. Elle est aussi plus performante et plus simple à maintenir dans les interfaces qui changent souvent.

marryjoy63
Messages : 1
Enregistré le : 31 juil. 2026, 11:43

Re: Événements sur éléments ajoutés dynamiquement

Message par marryjoy63 » 31 juil. 2026, 11:44

Je partirais aussi sur la délégation d'événements dans ce cas. Si les éléments sont recréés régulièrement, c'est généralement la solution la plus simple et ça évite d'attacher plusieurs fois les mêmes listeners. Un MutationObserver est plutôt utile quand on a vraiment besoin de réagir aux changements du DOM, mais je ne l'utiliserais pas uniquement pour gérer les clics.

alexiaamber
Messages : 1
Enregistré le : Aujourd’hui, 12:17

Re: Événements sur éléments ajoutés dynamiquement

Message par alexiaamber » Aujourd’hui, 12:20

Bonjour,

Dans ce cas, je privilégierais généralement la délégation d’événements plutôt que MutationObserver. Si les éléments ajoutés ont un parent commun, tu peux attacher un seul click sur ce parent et vérifier ensuite si la cible correspond au sélecteur voulu.free online games

Par exemple :

const container = document.querySelector('#container');

container.addEventListener('click', (e) => {
const item = e.target.closest('.item');
if (!item || !container.contains(item)) return;

// traitement du clic
});

L'avantage est que les nouveaux .item sont automatiquement pris en compte, sans avoir à ajouter un listener à chaque insertion. Ça évite également le problème des handlers qui s'accumulent lorsque le contenu est régulièrement recréé.

MutationObserver est plutôt intéressant si tu dois réagir à l'ajout ou à la modification d'éléments, et pas simplement gérer leurs clics.

Si tu utilises malgré tout des listeners individuels, il faut surtout veiller à ne pas réenregistrer le même handler après chaque mise à jour.

Répondre