0

jquery(ajax)に問題があります。次の関数があります。

page: function(p, cont) {

    cont = typeof cont !== 'undefined' ? cont : this;

    $.ajax({
        url: p,
        timeout: 10000,
        complete: function() {...}
    }).done(function(html) {
        $(cont).append(html);
    });

}

この関数をhtml(onClick)で使用すると、ボタンをクリックするたびにリクエストが繰り返されますが、それを防ぐにはどうすればよいですか?コンテンツを1回だけロードしたい。

注:この機能は、1つだけでなく複数のボタンで使用されていました。

ありがとう!

4

1 に答える 1

-1

次のように、グローバルスコープの変数を「ブロッカー」として使用することができます。

var blocker = false;

page: function(p, cont) {
    if(!blocker){
        blocker = true;
    }else{
        return;
    }
    cont = typeof cont !== 'undefined' ? cont : this;   
    $.ajax({
        url: p,
        timeout:10000,
        complete: function() { ... }
        }).done(function(html) {
            $(cont).append(html);
    });

}
于 2013-03-13T17:54:26.497 に答える