2010-04-13 7 views
13

Je charge du contenu dans une page avec ajax qui sera associée à des événements de clic en direct. Il semble que la première fois que je charge ce contenu, tout fonctionne comme prévu. Si je le charge à nouveau, les événements se déclenchent deux fois (lorsque les points d'arrêt sont placés dans le code). Qu'est-ce que je fais mal? Existe-t-il un moyen de vider la dom de ces éléments avant qu'ils ne soient à nouveau chargés?L'événement en direct jquery est exécuté deux fois

+6

Ma boule de cristal n'est pas disponible pour le moment, vous pouvez peut-être poster votre code? –

Répondre

32

Je suppose que vous appelez .live() sur les mêmes éléments encore et encore. utiliser .die() sur ces éléments avant d'appeler .live().

+0

Ok, je vais essayer et voir comment ça marche. – Victor

22

Je l'ai fixé comme ceci:

$('selector').die('click').live('click', function() { 
    // Do stuff here 
}); 
2

vient de confirmer. Utilisait .live() et expérimenté avec .unbind() en premier.

final:

$(".clickedClass").die("click").live("click", function() { 

}); 
0

Si vous utilisez la méthode au lieu de vivre. THIN

jQuery ('body'). Unbind(). On ('soumettre', 'form.make_commitment_form', fonction (e) {....});

Questions connexes