2013-10-05 40 views
1

哪个tabstrip widget有一个工作的onload事件钩子,所以我可以在打开tab时运行一些代码(加载标签内容)?哪个JQuery Tab Widget提供onload事件?

JQuery UI选项卡有一个"activate" event,但是当页面加载时它不会被触发,所以打开URL#tabs-2将显示一个空的第二个选项卡。有一个"create" event,它在页面加载时触发,但不是在单击一个标签时导致重复代码(在两个事件中都是相同的回调)。
到目前为止,我只找到obvious workaround将该代码放入一个单独的函数loadTabstrip1Tab(index)/ loadTabstrip2Tab(index)/ ...这两个事件中调用。
根据bug report (activate event not fired for first tab when created),缺乏这样的事件似乎是一个设计决定。
可能有一个简单的解决方案,但我似乎无法弄清楚。
(Re-)Activating the currently active tab什么都不做。

有没有修复这个小部件?

有人可以推荐另一个标签小部件,它提供了这样的标签激活事件挂钩?

回答

1

那么我找到了一些JQuery UI选项卡。 “显示”选项是不是一个事件,但它看起来像它做什么我期望的“激活”事件做:

$("#tabs").tabs({ 
    show: function(e,ui) 
    { 
     alert("tab " + ui.panel.id + " activated"); 
    } 
}); 

这里有一个jsfiddle demo (works with JQuery 1.9 + JQuery UI 1.9)

所以我想这将第一个问题变成“这是一个好/坏的解决方案”...