2012-05-01 4 views
0

Voici mon code:événements attachés à des éléments ajoutés dynamiquement avec jQuery

$("#strong-against .pick .data .actions .btn-success").on("click", function() { 
    //Magic here. 
}); 

Je lis que je devrais utiliser .on() comme qui dynamiquement attacher des événements aux éléments ajoutés, même après la fin du chargement de documents.

Pourtant, l'événement n'est pas déclenché après que je charge ces éléments de manière dynamique. Comment puis-je faire en sorte que tous les éléments que j'ajoute après le chargement du document soient écoutés?

+1

Quelle est la question? EDIT: Mieux maintenant. Voté pour contre-agir ces votes vers le bas. – DangerMonkey

+0

Quelle est la question? –

+0

Bizarre, Firefox à une partie de la question. : S Édité dans. –

Répondre

9

essai,

$(document).on("click", "#strong-against .pick .data .actions .btn-success", function() { 
    //Magic here. 
}); 

Suivre les étapes 2 à se lier gestionnaire d'événements pour des éléments dynamiques,

  1. Trouver les éléments parents les plus proches de l'élément qui est ajouté dynamiquement.
  2. Liez le gestionnaire à l'élément parent avec le sélecteur d'éléments dynamiques comme second argument.

Donc, si #strong-against existe sur la charge de la page, vous pouvez,

$("#strong-against").on("click", ".pick .data .actions .btn-success", function() { 
    //Magic here. 
}); 
Questions connexes