我有一个需要经常重用的函数。当我将另一个页面加载到当前页面时,该问题发生,该功能激发两次。我试过这个解决方案,但无法使其正常工作(Disable jquery function after 1 click, to prevent multiple executions)。任何解决方案可以防止请求正在进行时多次触发该功能?该功能应该只能点击一次。防止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);
});
当您在链接问题中尝试了技巧时发生了什么?它看起来好像它应该适合你的情况。 – 2013-03-10 02:46:03
“将另一个页面加载到当前页面” - 意味着某种Ajax获得?如果是这样,在ajax请求之后你做了什么?如果你发布了所有相关的代码,它会更容易。 – darshanags 2013-03-10 03:06:54