3

シンプルなjqueryタブウィジェットをセットアップしました。1 つはエラー 1、もう 1 つはプラス記号の 2 つのタブで始まります。プラス記号をクリックすると、エラー 2 タブが追加されます。もう一度クリックすると、エラー 3 タブが追加されます。問題は、プラス記号をクリックした後、タブからタブ インデックスを削除できないことです。RemoveAttr('tabIndex') はページの読み込み時に機能して、最初のタブにインデックスがないようにしますが、プラス記号をクリックした後、残りのタブからタブ インデックスを削除する方法が見つかりませんでした。.show() の直後に removeAttr() を配置しました。その行の前に置きました。activate、load、beforeload、create に入れてみました。removeattr() の代わりに tabindex=-1 を設定してみました。また、非表示/表示を取り除き、cssを使用して表示/非表示を試みました。

$(document).ready(function(){    
$("#tabs").tabs({
        beforeActivate: function (event, ui) {
            if (ui.newTab.attr('id') == 'liTabsPlus') {
                event.preventDefault();
                errorTabsShowing += 1;
                $('#liTabs' + errorTabsShowing).show();
                $(this).tabs('option', 'active', errorTabsShowing - 1);
                if (errorTabsShowing == MAX_NUMBER_OF_ERRORS)
                    ui.newTab.hide();
            }
        }
    });

    $("#liTabs1").removeAttr("tabIndex");
    $("#liTabs2").hide();
    $("#liTabs3").hide();
    $("#liTabs4").hide();
}
4

1 に答える 1

0

マークアップを見ずして言うのは難しいですが、要素をループしてタブ インデックスを -1 に設定することでこれを行いました。これは、「liTabs」の ID で始まるすべてのタブでこれを行う例であり、liTabs1、liTabs23 などです。

$('[id^=liTabs]').each(function(){ this.tabIndex = -1; });

お役に立てれば

于 2013-09-17T03:25:54.213 に答える