在Jquery UI选项卡中,Tab索引会增加

时间:2014-07-18 12:50:25

标签: javascript jquery jquery-ui tabs jquery-ui-tabs

我正在使用Jquery UI选项卡插件。 这是我的DEMO

在我的代码中我使用

  var tabControl = $("#tabs");

    tabControl.tabs();
    tabControl.tabs({ heightStyle: "auto",
        beforeLoad: function (event, ui) {

        },
        load: function (event, ui) {

            alert(ui.panel.selector);
            if (ui.panel.selector == "#ui-tabs-1") {
                m1();
            } else if (ui.panel.selector == "#ui-tabs-2") {
                m2();
            }
        }
    });

当我第一次移动到页面时,它会在弹出窗口中正确显示ui-tabs-1。但当我移动到其他页面并返回并选择选项卡时,它会显示增加的索引(ui-tabs-4),并且不会调用我想要的方法。我不知道为什么我的标签索引会增加。非常感谢您的帮助。

编辑1:

感谢Rahul创建了Demo。此代码是Web应用程序的一部分。这与一个页面有关。在其他页面中也有标签。当我第一次加载页面警报(ui.panel.selector)显示为“#ui-tabs-1”时,当我转到其他页面然后返回时显示增加的ID,例如#ui-tabs-4“。我发现在源代码(jquery.ui.tabs.js)中我找到了以下实现。

var tabId = 0,
rhash = /#.*$/;

function getNextTabId() {
return ++tabId;
}

似乎tabId已增加且未被重置@。我想重置@每页加载。非常感谢您的关注。

编辑2:

我创建了一个demo。点击标签时,你会得到#ui-id-3和#ui-id-5。在我的场景中,当我回到同一页面时,它会显示为#ui-id-7之类的增加数字,之前它显示了#ui-id-3。

谢谢!

0 个答案:

没有答案