Cliquez sur l’événement pour les éléments ajoutés au DOM de manière dynamic

Avant jQuery 1.8, j’étais capable d’utiliser .live () pour se déclencher lorsqu’un clic sur un bouton était inséré dynamicment par jquery.

Maintenant, .on () et .bind () ne fonctionnent pas tous les deux pour les éléments ajoutés à DOM après le chargement de la page.

Quelles sont les options maintenant?

 $(parent_element).on("click", child_selector, function(evt) { }); 

http://api.jquery.com/on/#direct-and-delegated-events

Les événements delegates ont l’avantage de pouvoir traiter des événements issus d’éléments descendants ajoutés au document ultérieurement. En choisissant un élément dont la présence est garantie au moment où le gestionnaire d’événements délégué est attaché, vous pouvez utiliser des événements delegates pour éviter la nécessité d’attacher et de supprimer fréquemment des gestionnaires d’événements. Cet élément peut être l’élément conteneur d’une vue dans une conception Modèle-Vue-Contrôleur, par exemple, ou un document si le gestionnaire d’événements souhaite surveiller tous les événements de propagation dans le document. L’élément document est disponible dans l’en-tête du document avant de charger tout autre code HTML. Vous pouvez donc y attacher des événements sans attendre que le document soit prêt.

délégué est beaucoup plus efficace que sur handler

 $(document).delegate('click', "selector", function() { //your stuff });