jQuery UI 选项卡使用 aria-controls 而不是 title 来拥有单个面板

jQuery UI tabs using aria-controls instead of title to have a single panel

提问人:et3rnal 提问时间:4/21/2023 最后编辑:et3rnal 更新时间:4/24/2023 访问量:42

问:

我需要将使用 jquery UI 1.8 的旧项目更新到最新的 1.13

我在 jQuery 1.9 中遇到了一个问题,选项卡小部件有大量的重大更改,当前的实现 (1.8) 将所有选项卡都放在一个面板中,并使用 title 属性告诉每个远程选项卡面板要使用

根据迁移文档标题被替换为 这似乎不是一个简单的替换,因为我无法让新的选项卡小部件使用带有远程的单个面板,似乎没有任何效果area-controlshrefarea-controls

如何实现这一点的一个例子会很棒,否则,我将不得不重写所有遗留代码以处理每个选项卡的不同面板(我尝试过:|这将需要永远)

jsFiddle:https://jsfiddle.net/et3rnal/sbrzd1fk/69/

jquery jquery-ui-tabs

评论


答:

0赞 et3rnal 4/24/2023 #1

我试图在激活事件期间手动更新 URL,但我想我找到了新方法的工作方式。只需将新元素添加到不添加到链接中(至少这是我拥有的遗留代码添加标题的地方)aria-controlslia

<div id="tabs">
   <ul>
     <li aria-controls="panel"><a href="link1.html"><span>Link 1</span></a></li>
     <li aria-controls="panel"><a href="https://jsfiddle.net/about"><span>Link 2</span></a></li>
     <li aria-controls="panel"><a href="https://jsfiddle.net"><span>Link 3</span></a></li>
     <li aria-controls="panel"><a href="link4.html"><span>Link 4</span></a></li>
   </ul>
  <div id="panel" >Content should be loaded here.</div>
</div>

在这里找到了这个

示例 https://jsfiddle.net/et3rnal/v79hpygr/1/