我在导航栏上有一个Twitter Bootstrap下拉菜单,当我点击它并且光标向上/向下键正常工作时,它会正确打开。
但是,如果我使用以下命令打开相同的菜单:
在keydown或keyup事件处理程序中$('#menu').dropdown('toggle');
,菜单正确打开/关闭,但光标向上/向下键不起作用。实际上,下拉菜单keydown
事件不会触发。
这是html和Javascript:
<ul class="nav"> <!-- "KB Menu" -->
<li class="dropdown kb_menu hideit">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Knowledge Bases<b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel" id="kb_menu">
</ul>
</li>
</ul>
$(document).on('keydown', function( event ){
if ( event.ctrlKey ){
if ( event.keyCode == 191 ){ // Ctrl+/ = 191
$('#kb_menu').dropdown('toggle');
}
}
});
到目前为止,我已经尝试了所有我无法想到的事情。
答案 0 :(得分:1)
在$('#kb_menu').dropdown('toggle')
之后添加以下行:
$('#kb_menu').find('li:first > a').focus();