在以前版本的 jQuery UI (<=1.8) 中,远程选项卡的链接将在加载选项卡时与本地链接交换。这使得可以在选项卡上居中单击(又名,在新的浏览器选项卡中打开链接),并且它将深层链接到选中选项卡的当前页面。这是我想保持的行为。
旧标签:
<div id="tabs">
<ul>
<li><a href="some-ajax-content.php" title="section1">Content 1/a></li>
<li><a href="some-other-ajax-content.php" title="section2">Content 2</a></li>
</ul>
<div id="section 1">Loading Content...</div>
<div id="section 2">Loading Content...</div>
</div>
调用 $('#tabs').tabs() 后,结果如下:
<div id="tabs">
<ul>
<li><a href="#section1" title="section1">Content 1/a></li>
<li><a href="#section2" title="section2">Content 2</a></li>
</ul>
<div id="section 1">Loading Content...</div>
<div id="section 2">Loading Content...</div>
</div>
新标签(UI >=1.9)
<div id="tabs">
<ul>
<li aria-controls="section1"><a href="some-ajax-content.php">Content 1/a></li>
<li aria-controls="section1"><a href="some-other-ajax-content.php">Content 2</a></li>
</ul>
<div id="section 1">Loading Content...</div>
<div id="section 2">Loading Content...</div>
</div>
调用 $('#tabs').tabs() 后:
<div id="tabs">
<ul>
<li aria-controls="section1"><a href="some-ajax-content.php">Content 1/a></li>
<li aria-controls="section1"><a href="some-other-ajax-content.php">Content 2</a></li>
</ul>
<div id="section 1">Loading Content...</div>
<div id="section 2">Loading Content...</div>
</div>
调用 $('#tabs').tabs() 后,不会交换 href 属性。这意味着如果用户在新选项卡中点击打开链接,将直接加载 ajax 内容。正如我所期望的那样,ajax 内容只是页面的一部分,不应单独呈现。有没有一种简单的方法可以更改标记以恢复以前的行为?
谢谢。