2012-02-03 3 views
0

J'ai une fonction JavaScript qui est appelée plusieurs fois. Il semble que la fonction createUser est ajoutée en tant que tableau et est appelée chaque fois que quelqu'un clique sur le lien "Ajouter un enchérisseur".Javascript: éviter les appels de fonctions intégrées objet plusieurs fois

<a id="add_bidders_14" class="bidders" href="#" vendor_id="123"> Add Bidder </a> 

Voici l'une des fonctions JavaScript

function addClickBehavior() { 
    $("#add_bidders_14").click(function() { 
     var data_object = {}; 
     data_object.vendor_id = $(this).attr("vendor_id"); 
     bidderModal() 
    } 
} 


function bidderModal(data_object) { 
    createUser(data_object); 
} 


function createUser(data_object) { 
    alert("I pop up more and more each click to the Add Bidder link"); 
} 

Ce que je veux arriver est qu'une nouvelle fonction createUser de se produire sur chaque clic et ne pas créer plusieurs instances de createUser. Donc, en réalité, l'alerte ne tirera qu'une seule fois.

+0

Pourriez-vous préciser votre dernier paragraphe? Quelles fonctionnalités recherchez-vous? Juste l'alerte pour tirer une fois? –

+0

Oh, vous voulez dire que vous attachez plusieurs gestionnaires de clics qui tirent tous en même temps. –

+0

@JohnStrickler Oui, le gestionnaire de clic envoie le createUser plusieurs fois. Si j'ai cliqué 5 fois sur le lien, la fonction createUser déclenchera l'alerte 5 fois. – BrakeFire

Répondre

0

Vous voulez unbind

$("#add_bidders_14").unbind().click(function() {... 
+0

Cela l'a fait. Merci beaucoup. – BrakeFire

Questions connexes