我曾在多個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