0

背景:私のコードは、内部にフレームを持つマスターページを使用し、他のすべてのナビゲーションはフレームを使用して行われ、マスターページはメニューの目的で使用されます。送信ボタンのクリック時に (すべての画面で)、それ以上のユーザーの干渉に対してページを無効にしたい。そのマスターページにはdivがあり、個々のページには次のコードが書かれています

var loading = window.parent.document.getElementById('dvLoading');
$(loading).show();

問題: ajax タブが結合されたフレームが 1 つあります。個々のタブをクリックすると、同じ div を呼び出して、タブ ナビゲーション中のユーザーの干渉を防ぎたいと思います。次のコードが書かれている

$(".ajax__tab_inner").click(function() {
     var loading = window.parent.document.getElementById('dvLoading');
     $(loading).show();
});

これは、ユーザーが現在アクティブなタブをクリックするまで正常に機能します。これにより、ロード中の div が削除されず、ロード/ハング状態のままになります。

アクティブなタブまたはその他の方法で div の読み込みを防ぐ方法を親切に提案してください。

4

1 に答える 1

0

クリックしたタブが現在のタブかどうかを確認し、そうである場合は残りのコードをキャンセルする必要があります。

これは、この方法のコード例です。

 $(".ajax__tab_inner").click(function() {
             // assuming that the active tab has a class called `active`
             if((this).hasClass('.active')) 
                 {
                     return false;
                 }
            var loading = window.parent.document.getElementById('dvLoading');
            $(loading).show();
        });
于 2012-09-09T01:34:59.097 に答える