31-10-2012, 05:25 PM
(Modification du message : 31-10-2012, 05:28 PM par Sephi-Chan.)
D'après ce que j'ai lu (dans des billets de blogs ou autre, je n'ai pas regardé le code),
Les événements de Javascript fonctionnent sur un mécanisme de remontée dans l'arbre DOM, puis de redescente. Les termes utilisés sont bubbling et propagation.
Quand un événément est déclenché sur un élément, il remonte jusqu'à la racine du DOM (
D'ailleurs, depuis jQuery 1.7, la méthode
live
utilise de la délégation.Les événements de Javascript fonctionnent sur un mécanisme de remontée dans l'arbre DOM, puis de redescente. Les termes utilisés sont bubbling et propagation.
Quand un événément est déclenché sur un élément, il remonte jusqu'à la racine du DOM (
window.document
). C'est cela qui permet d'associer des handlers à des éléments qui ne sont pas dans le DOM dès le chargement : il suffit d'associer un handler sur l'élément racine (ou un autre qui est sur le chemin) puis de lancer le handlers si l'événement est de type donné (click, change, etc.) et que la cible répond au sélecteur donné (a.remove, span.say-hello).D'ailleurs, depuis jQuery 1.7, la méthode
live
est dépréciée en faveur de on
(qui rassemble d'ailleurs les anciennes méthodes bind
, delegate
et live
).