首页 文章

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

提问于
浏览
1

我在导航栏上有一个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 回答

  • 1

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

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

相关问题