我已在许多li元素上应用了click事件,例如
jQuery('ul li').click(function(){
doSomething();
});
现在我有要求直到doSomething完成。我想要其他li元素,除了点击的元素被禁用,不允许点击。 doSomething基本上是一个ajax调用。
答案 0 :(得分:1)
我会尝试这样的事情:
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 :(得分: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)
}
答案 2 :(得分:1)
答案:
$(function(){
$("ul.a li").click(function(){
$(this).show();//disable true condition write here
$(this).siblings().hide();//disable false condition write here
});
});