2010-12-12 5 views
0

http://cl.ly/2D221O0J33421Y1v2V0QMessages AJAX plusieurs fois dans Chrome

Y at-il un moyen d'éviter cela?

fonctionne parfaitement dans Firefox, etc.

votes.php:http://pastie.org/1369778

jQuery(function(){ 
jQuery("a.vote_down").click(function(){ 
//get the id 
the_id = $(this).attr('id'); 

// show the spinner 
$(this).parent().html("<img src='images/spinner.gif'/>"); 

//the main ajax request 
    $.ajax({ 
    type: "POST", 
    data: "action=vote_down&id="+$(this).attr("id"), 
    url: "/votes.php", 
    success: function(msg) 
    { 
    $("span#votes_count"+the_id).fadeOut(); 
    $("span#votes_count"+the_id).html(msg); 
    $("span#votes_count"+the_id).fadeIn(1000); 
    $("span#vote_buttons"+the_id).remove(); 
    } 
    }); 
}); 
}); 
+0

est que la question ce qui est affiché ci-dessous été – kobe

Répondre

2

Avez-vous essayé d'avoir votre gestionnaire de clic return false; (placé à la fin de la fonction, bien sûr)? Ou, essayez d'entrer un argument dans ce gestionnaire appelé e et ajoutez e.stopPropagation();

Bottom line est, vous voulez empêcher l'événement de clic de bouillonner une fois que vous avez manié.

+0

Il ne fonctionne pas. Pouvez-vous jeter un coup d'oeil au code? http://pastie.org/1371658 – switz

+0

Est-il possible d'ajouter un extrait de code HTML qui va avec ce script afin que je puisse voir si le balisage a quelque chose à voir avec elle, et essayer de me reproduire? – HackedByChinese

+0

Je suis confus par votre question. Si tu veux? – switz

1

si elle est l'événement href procédez comme suit à la fin du code

event.preventDefault(); // ceci est meilleure façon de faire

http://api.jquery.com/event.preventDefault/

ou

return false; 
+0

Ça ne marche pas. Pouvez-vous jeter un coup d'oeil au code? http://pastie.org/1371658 – switz

0

Vous pouvez essayez d'utiliser la méthode "delegate" au lieu du raccourci "click". Le "$ .delegate" empêche l'événement "bouillonnant" en assignant l'événement au contexte de l'élément au lieu de l'objet window.

Aussi, si vous êtes-vous à l'aide d'un paramètre « ancre » avec un vide « href », vous pouvez essayer d'utiliser un autre élément HTML, comme une période.

Questions connexes