ナビゲーションバーにTwitter Bootstrapドロップダウンメニューがあり、クリックすると正しく開き、カーソルの上下キーが正しく機能します。
ただし、キーダウンまたはキーアップ イベント ハンドラで同じメニューを開くと
$('#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');
}
}
});
私はこれまでのところ無駄に考えられるすべてを試しました。