3

我设置了一个简单的 jquery 选项卡小部件。它从两个选项卡开始,一个是错误 1,一个是加号。单击加号会添加错误 2 选项卡。再次单击它会添加错误 3 选项卡。问题是单击加号后,我无法从选项卡中删除选项卡索引。RemoveAttr('tabIndex') 适用于页面加载以防止第一个选项卡具有索引,但是在单击加号后,我还没有找到从其余选项卡中删除选项卡索引的方法。我将 removeAttr() 放在 .show() 之后。我把它放在那行之前。我试着把它放在激活、加载、前加载和创建中。我尝试设置 tabindex=-1 而不是 removeattr()。我还尝试摆脱隐藏/显示并使用 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 回答