【发布时间】:2013-06-05 14:03:52
【问题描述】:
在以前版本的 jQuery UI (
旧标签:
<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 内容只是页面的一部分,不应单独呈现。有没有一种简单的方法可以更改标记以恢复以前的行为?
谢谢。
【问题讨论】:
标签: javascript jquery ajax jquery-ui tabs