Twitter Bootstrap $()。dropdown('toggle')keydown事件未触发

时间:2013-02-06 08:08:47

标签: drop-down-menu twitter-bootstrap onkeydown

我在导航栏上有一个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');
        }
    }
});

到目前为止,我已经尝试了所有我无法想到的事情。

1 个答案:

答案 0 :(得分:1)

$('#kb_menu').dropdown('toggle')之后添加以下行:

$('#kb_menu').find('li:first > a').focus();