哪个tabstrip小部件有一个工作onload事件挂钩,所以每当打开一个标签时我都可以运行一些代码(加载标签内容)?
JQuery UI标签有一个"activate" event,但在加载页面时不会触发,因此打开URL#tabs-2将显示一个空的第二个标签。有一个"create" event,它在页面加载时触发,但是在单击选项卡时不会触发,这会导致重复的代码(两个事件中都有相同的回调)。
到目前为止,我只发现obvious workaround将该代码放在一个单独的函数loadTabstrip1Tab(index)/ loadTabstrip2Tab(index)/ ...中,这两个事件都被调用。
根据{{3}},缺乏这样的事件似乎是一个设计决定
可能有一个简单的解决方案,但我似乎无法弄明白。
(重新 - )bug report (activate event not fired for first tab when created)什么都不做。
是否有针对此小部件的修复程序?
有人可以推荐另一个提供此类标签激活事件挂钩的标签窗口小部件吗?
答案 0 :(得分:1)
我找到了JQuery UI Tabs的东西。 “show”选项不是一个事件,但它看起来像我期望“激活”事件做的那样:
$("#tabs").tabs({
show: function( e,ui )
{
alert("tab " + ui.panel.id + " activated");
}
});
这是jsfiddle demo (works with JQuery 1.9 + JQuery UI 1.9)。
所以我想这会把第一个问题变成“这是一个好/坏的解决方案”......