【发布时间】:2015-06-04 04:38:18
【问题描述】:
我有一个 css 菜单,我想通过键盘交互来访问它。我希望能够通过每个链接(包括子菜单链接)进行选项卡。
如果下拉焦点移动到下一个父链接下拉菜单,则应隐藏上一个下拉菜单。
HTML
<ul>
<li class="custom-MainMenu-TopNav-li">
<div>
<span><a href="#">Parent link 1</a></span>
<div>
<ul class="custom-MainMenu-SubNav-dropdown">
<li><a href="#">Sub Link</a></li>
<li><a href="#">Sub Link</a></li>
</ul>
</div>
</div>
</li>
<li class="custom-MainMenu-TopNav-li">
<div>
<span>Parent link 2</span>
<div>
<ul class="custom-MainMenu-SubNav-dropdown">
<li><a href="#">Sub Link</a></li>
<li><a href="#">Sub Link</a></li>
</ul>
</div>
</div>
</li>
</ul>
JavaScript
accessibleDropdown();
function accessibleDropdown(){
jQuery('.custom-MainMenu-TopNav-li a').each(function(){
jQuery(this).focus(function(){
jQuery(this).addClass('focused');
var menuParent = jQuery(this).parent().next().find('ul');
jQuery(menuParent).css('display','block');
});
jQuery(this).blur(function(){
jQuery(this).removeClass('focused');
});
});
}
【问题讨论】:
-
我不清楚你想达到什么目的
-
sn-p 或小提琴会有所帮助
-
@Claudiu 重点是我可以使用键盘来浏览每个链接。如果我通过父链接选项卡。因此,例如,我将使用选项卡并到达“父链接 1”,此时我将看到“自定义主菜单子导航下拉菜单”并能够通过它们进行选项卡。然后,一旦我到达终点,我将继续“父链接 2”,“父链接 1”下拉菜单将隐藏。然后,我将继续浏览“父链接 2”下的每个链接。希望有帮助!小提琴jsfiddle.net/hectooorr/gsgskpgy
标签: javascript jquery drop-down-menu