0

ajaxが進行中のときに同じ関数の呼び出しを停止するために、onclick関数を無効にしたい。

オンクリック機能:

function fnDisplaySubjects(url,cat,divid)
{
    /* DISABLE ONCLICK HERE */
        $.ajax({
            url: url+"/cat/"+cat,
            type: "POST",
            complete: function(){
             /* ENABLE ONCLICK HERE */
        },
            success: function(response){
                $('#'+divid).html(response);        
            }
        });    
    }
}

あなたの助けに感謝..

4

3 に答える 3

0

試す:

function fnDisplaySubjects(url,cat,divid, obj /* this object */)
{
var $this = $(this);
if ($this.data('called')) {
    return;
}
$this.data('called', true);
        $.ajax({
            url: url+"/cat/"+cat,
            type: "POST",
            complete: function(){
             /* ENABLE ONCLICK HERE */
        },
            success: function(response){
                $('#'+divid).html(response);  
                $this.removeData('called');      
            }
        });    
    }
}
于 2012-07-20T11:49:40.013 に答える
0

ボタンがあり、それをクリックするとその関数が呼び出される場合、次のことができます。

// クリック ハンドラを削除します (何と呼ぶか​​ /* DISABLE ONCLICK HERE */)

$('#button_id').off('click');

// クリック ハンドラーを設定します (呼び出すもの /* ENABLE ONCLICK HERE */

$('#button_id').on('click', fnDisplaySubjects);
于 2012-07-20T12:23:49.433 に答える
0

送信者 (つまり、ボタンまたはリンク) を渡して、次のようにすることができます。

$(sender).attr('disabled', true); // to disable
....
$(sender).attr('disabled', false); // to enable
于 2012-07-20T11:52:52.223 に答える