Tworzę mały mechanizm głosowania, który wysyła szybki znacznik bazy danych przez AJAX.Selektor klasy JQuery wciąż odpalam po removeClass
Seria przycisków z klasą "głos" jest wyzwalaczem do głosowania, a poniżej znajduje się tekst pokazujący ile "głosów" dotyczy danego przedmiotu.
Po uruchomieniu metody AJAX ze zdarzenia kliknięcia, usuwam klasę "głosowanie", tak że nie może być więcej niż jedna z tej pozycji. Jednak moim problemem jest to, że nawet po usunięciu klasy spust może nadal strzelać i zwiększać tyle głosów.
Oto HTML elementu:
<div class="points">
<img class="vote" src="images/up.gif" alt="'.$idea['id'].'">
<p class="vote-'.$idea['id'].'">'.$points.' Points</p>
</div>
Oto Call jQuery:
$('.vote').click(function(){
var iID = $(this).attr('alt');
var typeString = "id="+iID;
$.ajax({
type: "POST",
url:"vote.php",
data: typeString,
success: function (txt){
$('.vote-'+iID).html('<p>'+txt+' Points</p>');
}
});
$(this).attr('src', 'images/voted.gif');
$(this).removeClass('vote');
});
'$ (this) .removeClass ('vote'). Unbind (" kliknij ");' – czarchaic
Zgodnie z odpowiedzią meduera: możesz użyć "$ (" głos ") jQuery. , function() {}); 'zamiast kliknięcia, w ten sposób nie musisz zawracać sobie głowy wiązaniem i rozłączaniem, jeśli dynamicznie tworzysz elementy. –