8

JQuery UI 选项卡由无序列表中的命名锚点实现。当您将鼠标悬停在其中一个选项卡上时,您可以在浏览器底部显示的链接中看到这一点:

http://mysite/product/3/#orders

例如,上面将是“订单”选项卡。JQuery 显然拦截了对该锚点的单击并打开选项卡。

但是,如果我将上面的链接添加为书签或从网站的其他地方链接到它,则该页面不会在特定选项卡上打开。

在选项卡初始化块中,我正在考虑放入一些代码来查找 URL 中的命名锚点,如果找到,则对选项卡进行索引查找并在其上调用 select。这意味着它仍然可以在 JS 关闭的情况下工作。

但是有没有更简单/更好/更好的方法?

4

4 回答 4

9

在这里找到这个例子:

if(document.location.hash!='') {
    //get the index from URL hash
    tabSelect = document.location.hash.substr(1,document.location.hash.length);
    $("#my-tabs").tabs('select',tabSelect-1);
}
于 2010-03-31T17:13:45.450 回答
5

从 1.8 版开始,jQuery UI 支持这个功能。请参见此处的示例:

  1. 默认情况下第二个选项卡处于活动状态
  2. 默认情况下第三个选项卡处于活动状态
于 2010-03-31T17:22:36.797 回答
3

在 1.8(不包括)之前的 jQuery UI 版本中,这几乎是您必须这样做的方式。选项卡扩展(AFAIK)不知道根据初始化它的锚点(当页面加载时)进行切换,因此您必须手动执行该操作(当然,在就绪事件中)。

正如另一个答案所表明的,jQuery UI 1.8 中新版本的选项卡支持开箱即用的书签

于 2010-03-31T17:12:32.967 回答
0

我使用 Session 插件在自定义选项卡类中完成此操作

于 2010-04-08T14:15:08.017 回答