2009-12-13 4 views
0

Lorsque je charge du contenu via ajax, il renvoie un événement jQuery .click et certains éléments. Mais lorsque le contenu ajax est chargé plusieurs fois et que je clique sur le bouton lié à l'événement .click, l'action est exécutée plusieurs fois.jQuery ajax actions définies

Par exemple, le contenu ajax est:

<script type="text/javascript"> 
$('#click').click(function() { alert('test') }); 
</script> 
<input type="button" id="click" value="click here"> 

Si cela est rafraîchi 5 fois et je clique sur le bouton I obtiendrai 5 boîtes d'alerte.

Y a-t-il une solution de contournement pour cela?

Répondre

0

Vous pouvez utiliser la fonction unbind juste avant le clic, quelque chose comme ceci:..

$ ('# click') délie (clic) cliquez sur (function() {alert ('test') });

Cela devrait laisser qu'une seule fonction associée au clic

+0

Merci willvv, que a fait le travail :) – Jens

0

La JQuery une méthode délie le gestionnaire après est invoqué:

$('#click').one("click",function() { alert('test') }); 

Plus d'info: http://docs.jquery.com/Events/one