我曾在多个li元素的应用点击事件这样禁用按钮,直到任务完成jQuery?
jQuery('ul li').click(function(){
doSomething();
});
现在我已经在那里,直到DoSomething的完成要求。我希望其他li元素除被点击的元素被禁用并且不允许点击。 doSomething基本上是一个ajax调用。
我曾在多个li元素的应用点击事件这样禁用按钮,直到任务完成jQuery?
jQuery('ul li').click(function(){
doSomething();
});
现在我已经在那里,直到DoSomething的完成要求。我希望其他li元素除被点击的元素被禁用并且不允许点击。 doSomething基本上是一个ajax调用。
我会尝试这样的事:
var lock = false;
jQuery('ul li').click(function(){
if(lock == true){
return false;
}
lock = true;
doSomething();
});
当DoSomething的完成设置lock = false;
例如:
success: function(){
// your ajax success code
lock = false;
}
感谢一个锁定是一个好主意。 +1 –
您可以使用标志和AJAX完整的回调
var doing = false;
jQuery('ul li').click(function() {
if (doing) {
return;
}
doing = true;
doSomething(function() {
doing = false;
});
});
function doSomething(complete) {
$.ajax().always(complete)
}
感谢国旗似乎是一个好主意。 +1 –
答案:
$(function(){
$("ul.a li").click(function(){
$(this).show();//disable true condition write here
$(this).siblings().hide();//disable false condition write here
});
});
我想我的问题是我如何禁用李元素。它不是按钮,它仍然是可点击的。那么我如何解除其他李的事件 –
使得Ajax同步,异步补充:假阿贾克斯参数 –
这将给你一个想法如何做到这一点,http://stackoverflow.com/questions/4898381/how-to-fire -ajax-before-after-after-after-ajax-calling – Adil