0

Ajax呼び出しが完了するまでタブ切り替えを防ぎたい。これを達成する方法はありますか?現在(デフォルトでは)別のタブをクリックすると、そのタブに切り替わります。Ajax呼び出しが成功/完了するまでこれを防ぎたい。参考: Jquery Tabs-3 プラグインを使用しています。私を助けてください。

4

3 に答える 3

0

他のコメント ( By saying "hold the control", I mean to say that when 'tabsselect' even is triggered, next event which is 'tabsshow' shouldn't be triggered until ajax request gets complete/succeed) に回答するには、直接回答することはできません。

ただし、をキャンセルすることはできtabsselectますが、ユーザーが切り替えようとしたタブのインデックスを変数に格納します。次に、AJAX 要求が終了したら、変数がタブ インデックスを保持しているかどうかを確認し (ユーザーがタブを切り替えなかった場合)、保持している場合はそのタブに切り替えます。後で別の AJAX リクエストを行う場合に備えて、変数を必ずリセットしてください。

于 2009-10-23T02:51:48.193 に答える
0

jQuery UI Tabsを使用していると思います。そうでない場合は、使用しているものにリンクしてください。

その場合は、ロードの開始時に呼び出してタブを無効にし、ロードの完了後に.tabs('disable', index)呼び出して再び有効にすることができます。.tabs('enable', index)インデックスの配列を渡すこともできます。

于 2009-10-22T19:07:05.637 に答える
0

あなたのコメントに答えるために、

$('#tabs > ul').bind('tabsselect', function(event, ui) {
    if(inAjaxRequest)
        return false;
    //Do whatever you're already doing here
    return true;
});
于 2009-10-22T19:39:25.697 に答える