Délégation d'événement en js

Article suivant: Différence entre $@, $*, "$@" et "$*"
Article précédent: La vis cachée de getopt

En règle générale les événements sont attachés à l’élément qui va le traiter.

Par exemple en javascript, un menu (ul) contenant 10 entrées (li) où chaque entrée est associée à une action crée, au total, 10 événements. 10 événements attachés à la même action.

Pour dire vrai, cette méthode est peu performante et peut la plupart du temps être remplacée par un seul événement sur le parent. À ce moment le parent vérifie si l’événement est généré par un de ses fils et fait le traitement en conséquence.

var ul = document.getElementById("menu");
ul.onclick = function(e){
  if (e.target.parentNode === ul) // est-ce toi mon fils ?
    openWithAjax(e)
}

On peut trouver le même type de fonction dans JQuery: .on().

Commentaires

Aucun commentaire pour le moment :'(

Le système de commentaire passe par les issues de github et aucun n'est associée au billet. Vous pouvez faire votre commentaire dans une issue qui a comme titre celui du billet. Je me chargerai de les associer.

Revenir en haut