我希望點擊事件才能執行,只有當它完成了前面的執行。我的代碼是jquery執行點擊事件只有當它已經完成了前面的執行
$(".next").click(function(){
$(this).parent().find('.overlay').css({'display':'block'});
addContent(options, speed, 1);
});
我希望點擊事件才能執行,只有當它完成了前面的執行。我的代碼是jquery執行點擊事件只有當它已經完成了前面的執行
$(".next").click(function(){
$(this).parent().find('.overlay').css({'display':'block'});
addContent(options, speed, 1);
});
最簡單的就是剛剛unbind當您啓動任務,當任務完成後再次綁定它的Click事件處理程序。
最好使用'on/off'而不是'bind/unbind' – fcalderan
@FabrizioCalderan如果您有jQuery 1/7 +,是的,建議您更喜歡[關閉](http://api.jquery.com/off/ )通過'unbind'。 –
我的addContent()函數包含太多的代碼,addContent()沒有完全執行,並且點擊事件綁定了我應該做什麼。 – user1662763
你需要有某種回調或延期對象知道當你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
});
}
什麼是以前的執行? – odupont
addAddContent函數執行一些異步任務嗎? – fcalderan