Pages

vendredi 18 janvier 2013

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

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

Par exemple en java-script, 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 ces 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().

Aucun commentaire: