【问题标题】:Ignore HTML element ID in URL忽略 URL 中的 HTML 元素 ID
【发布时间】:2014-03-20 14:43:23
【问题描述】:

我正在使用 Django 和 jQuery EasyTabs Plugin。此插件使用指向容器 ID 的锚点来创建选项卡,如下所示:

<ul class='etabs'>
    <li class='tab'><a href="#tabs1">Tab 1</a></li>
    <li class='tab'><a href="#tabs2">Tab 2</a></li>
</ul>
<div id="tabs1">
    <h2>This is the first tab</h2>
</div>
<div id="tabs2">
    <h2>This is the second tab</h2>
</div>

所以当您点击链接Tab 1 时,容器tabs2 会隐藏,而tabs1 会出现。

我的应用程序特别在第一个选项卡中加载了一些组件,当其他选项卡被激活(它触发一个事件)时,其中一些组件被移动到新活动选项卡的容器中。结构很复杂,首先检查哪个选项卡处于活动状态需要太多代码。有什么方法可以强制用户一开始就站在第一个标签页?

【问题讨论】:

  • 服务器永远不会收到#whatever 部分...

标签: jquery html django url


【解决方案1】:

哈希不会发送到服务器。

相反,您可以使用插件公开的 API 来设置选项卡吗?例如:

$('#outer-container').easytabs('select', '#nested-tab-3');

【讨论】:

    【解决方案2】:

    我最终需要的(以及我最初寻找的)是window.location。在开始时通过 EasyTabs 的 API 选择一个不是第一个选项卡显然会触发一个错误,导致两个选项卡的内容同时可见。

    $('#tab-container').easytabs() 函数之前使用window.location.replace('#desired-tab-id') 可以解决问题。

    【讨论】:

      猜你喜欢
      • 2010-12-17
      • 2011-07-08
      • 2018-05-11
      • 2021-05-22
      • 1970-01-01
      • 2014-03-21
      • 2011-06-29
      • 2015-06-05
      • 1970-01-01
      相关资源
      最近更新 更多