我正在制作和调用ajax并将结果存储在数组中。加载第一组数据后,我使用下一个和上一个按钮来浏览数组。
我想阻止任何$(元素).on('点击')事件发生,直到我加载了第一组数据。
有没有办法做到这一点?
我已经尝试过使用
$(element).unbind('click');
当文档加载然后
$(element).bind('click');
当ajax调用成功,但仍然点击下一个或上一个链接仍然会触发我的
$('#next #prev').on('click', function () {
//my code to navigate through the array here.
});
任何人都有任何关于如何完成停止此事件直到ajax加载的想法?
答案 0 :(得分:2)
您可以默认禁用它们,在ajax成功回调中,您可以使用以下内容打开它们:
$(element).prop("disabled", false); // Element will get enabled for clicking
我现在更新答案,因为它不适合相关人员,要禁用按钮执行此操作:
$(element).attr(“disabled”, true);
成功回调ajax调用你需要这样做:
$(element).removeAttr('disabled');
答案 1 :(得分:0)
$.ajax({
....
success:function(){
$('#next #prev').on('click', function(){
// only ajax event complete the #prev can run this function
}).off('click'); // no more clickable now
}
});
或者你可以
$('#next #prev').hide();
// done?
$('#next #prev').show();