Tôi đang tạo một cơ chế bỏ phiếu nhỏ để gửi một dấu thời gian cơ sở dữ liệu nhanh chóng thông qua AJAX.Bộ chọn lớp JQuery vẫn kích hoạt sau khi removeClass
Một loạt các nút có lớp "bỏ phiếu" là trình kích hoạt để bỏ phiếu, trong khi có văn bản bên dưới để hiển thị số lượng "phiếu bầu" cho mục cụ thể đó.
Sau khi tôi chạy phương thức AJAX từ sự kiện nhấp, tôi xóa lớp "bỏ phiếu" sao cho không thể có nhiều hơn một từ mục đó. Tuy nhiên vấn đề của tôi là ngay cả với lớp đã loại bỏ, kích hoạt vẫn có thể kích hoạt và tăng số phiếu bầu.
Đây là mã HTML của phần tử:
<div class="points">
<img class="vote" src="images/up.gif" alt="'.$idea['id'].'">
<p class="vote-'.$idea['id'].'">'.$points.' Points</p>
</div>
Dưới đây là 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 ('click');' – czarchaic
Theo câu trả lời của người trả lời: Bạn có thể muốn sử dụng '$ (". Vote ") của jQuery. , function() {}); 'thay vì nhấp chuột, theo cách này bạn không cần phải bận tâm đến việc ràng buộc và hủy liên kết nếu bạn đang tạo động các phần tử. –