Estoy creando un pequeño mecanismo de votación que envía una marca de tiempo de base de datos rápida a través de AJAX.JQuery Class Selector sigue activa después de removeClass
Una serie de botones con la clase "votar" son los desencadenantes para votar, mientras que hay texto a continuación para mostrar cuántos "votos" corresponden a ese elemento en particular.
Después de ejecutar el método AJAX desde el evento click, elimino la clase "vote" de modo que no puede haber más de uno de ese elemento. Sin embargo, mi problema es que, incluso con la clase eliminada, el activador aún puede disparar e incrementar la cantidad de votos.
Aquí está el código HTML del elemento:
<div class="points">
<img class="vote" src="images/up.gif" alt="'.$idea['id'].'">
<p class="vote-'.$idea['id'].'">'.$points.' Points</p>
</div>
Aquí está la llamada 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 ('click');' – czarchaic
Según la respuesta del remitente: Puede usar jQuery's '$ (". Vote "). Live (" click " , function() {}); 'en lugar del clic, de esta forma no tiene que preocuparse por el enlace y la desvinculación si está creando dinámicamente elementos. –