2014-02-14 2 views
0

나는 이제 해봐요이 완료 될 때까지 요구 사항이이작업이 끝날 때까지 버튼을 비활성화하십시오. jQuery?


jQuery('ul li').click(function(){ 

    doSomething(); 

}); 
 

같은 리튬 요소의 수에 클릭 이벤트를 적용했습니다. 내가 클릭 한 것을 제외하고 다른 li 요소를 비활성화하고 클릭을 허용하지 않습니다. doSomething은 기본적으로 아약스 호출입니다.

+0

메이크업 아약스 동기화, 비동기를 추가 : 거짓 아약스 매개 변수 –

+0

이 당신에게 그것을 수행하는 방법 아이디어를 줄 것이다, http://stackoverflow.com/questions/4898381/how-to-fire 전 - 후 - 모든 - 아약스 - 전화 – Adil

답변

1

나는 이런 식으로 뭔가를 시도 할 것입니다 :

var lock = false; 

jQuery('ul li').click(function(){ 
    if(lock == true){ 
     return false; 
    } 
    lock = true; 
    doSomething(); 

}); 

해봐요은 예를 들어 lock = false;

설정이 완료되면 : 당신은 국기와 아약스 완전한 콜백을 사용할 수 있습니다

success: function(){ 
    // your ajax success code 
    lock = false; 
} 
+0

자물쇠를 주셔서 감사합니다 좋은 생각입니다. +1 –

1

var doing = false; 
jQuery('ul li').click(function() { 
    if (doing) { 
     return; 
    } 
    doing = true; 
    doSomething(function() { 
     doing = false; 
    }); 
}); 

function doSomething(complete) { 
    $.ajax().always(complete) 
} 
+0

감사 깃발이 좋은 생각 같습니다. +1 –

1

답 :

$(function(){ 
    $("ul.a li").click(function(){ 
    $(this).show();//disable true condition write here 
    $(this).siblings().hide();//disable false condition write here 
}); 
}); 
+0

내 질문에 내가 어떻게 리튬 요소를 비활성화 할 것 같아요. 버튼이 아니라 클릭 할 수 있습니다. 그럼 어떻게 다른 리의 이벤트를 바인딩 해제합니까? –

관련 문제