頻繁に再利用する必要がある機能があります。この問題は、別のページを現在のページにロードすると発生し、関数が 2 回起動します。私はこの解決策を試しましたが、うまくいきませんでした(複数の実行を防ぐために、1クリック後にjquery関数を無効にします)。リクエストが行われている間に関数が複数回起動するのを防ぐための解決策はありますか? この関数は、クリックごとに 1 回だけ起動する必要があります。
(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);
});