$(document).ready(function() {
    $('#foo').bind('click', function() {
        doSomething();
    });
});

var doSomething = function(){
    $('#foo').unbind('click');

    $.ajax({
        type: "POST",
        url: "some.aspx"
    }).done(function() {
        $('#foo').bind('click', function() {
            doSomething();
        });
    });
}

위처럼 jQuery.ready()에 클릭이벤트를 바인드시켜두고, 한번 클릭시 unbind() 후 ajax 요청이 끝나면(done event) 다시 bind 시키는 방법이다.
jQuery.ajax 옵션에 async: false로 주는 방법도 있으나 이는 동기식 호출이라 서버에서 처리가 오래 걸릴 경우 좋지 않다.

[출처] 네이버 블로그 http://blog.naver.com/ponin/70155062648
Posted by lI헐헐Il
,