我有一个需要经常重用的功能。当我将另一个页面加载到当前页面时会出现问题,该函数会触发两次。我尝试了此解决方案,但无法使其正常工作(单击 1 次后禁用 jquery 功能,以防止多次执行)。有什么解决方案可以防止该功能在发出请求时多次触发?该功能应该每次点击只触发一次。
(function($) {
$.fn.likeclick = function(thiss, key) {
var $this = thiss;
var pid=key;
if ($this.hasClass('addd')) {
$.post("/blah.php?id="+pid, function(data) {
if (data=="ok"){
$this.removeClass('addd').addClass('rem');
$('.ccount#'+pid).html(function(i,val) {
return (parseFloat(val) + 1).toFixed(0);
});
}
});
} else {
$.post("/blah1.php?id="+pid, function(data) {
if (data=="okk"){
$this.removeClass('rem').addClass('addd');
$('.ccount#'+pid).html(function(i,val) {
return (parseFloat(val) - 1).toFixed(0);
});
}
});
}
};
})(jQuery);
用法:
<div class="like addd"></div>
$('.like').click(function() {
likeclick($(this),this.id);
});