我正在使用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。
谢谢!