我希望click事件只有在完成上一次执行后才能执行。我的代码是
$(".next").click(function(){
$(this).parent().find('.overlay').css({'display':'block'});
addContent(options, speed, 1);
});
答案 0 :(得分:1)
最简单的方法是在启动任务时只需unbind click事件处理程序,并在任务完成时再次绑定它。
答案 1 :(得分:0)
您需要使用某种回调或延迟对象来了解addContent函数何时完成,然后执行以下操作:
$(".next").on('click', doStuff);
function doStuff() {
$(".next").off('click', doStuff);
$(this).parent().find('.overlay').css('display', 'block');
addContent(options, speed, 1, function() { //<-- callback
$(".next").on('click', doStuff);
});
}
function addContent(options, speed, num, callback) {
options.animate({left: num}, speed, function() {
callback(); //<-- call callback when function is completed
});
}