带键盘的Bootstrap导航栏下拉滚动

时间:2014-05-28 01:45:10

标签: javascript jquery twitter-bootstrap megamenu

情况

  • 我的网站上有一个导航栏,在其中我有几个下拉菜单/ megamenus。
  • 当用户可以选择使用键盘上的箭头键向上和向下“滚动”页面时,我需要单击此下拉列表。
  • 使用已经正常工作的鼠标滚轮
  • 但键盘不会......即使您在导航栏外部的元素上设置焦点(在jquery中使用.focus())。
  • JSFiddle is here,如果没有显示下拉菜单,请调整屏幕大小..

然后尝试在键盘上上下移动,这种情况不起作用(屏幕不会向下或向上)...仅适用于鼠标滚轮,我需要这个与键盘一起工作< / p>

我已经尝试了

的案例
$(document).keyup(function(event) {
     if(event.keyCode == 38) { // up
     // do something
     } else if(event.keyCode == 40) { //down
     // do something
     }
});

OR

$('#menu').on('click', function(event) {
  $('body' or 'someelement').focus();
});

抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

所以大家,我最终找到了答案。

Click here to see the final jsFiddle

我最终捕获了菜单的onclick事件。

避免此事件的传播。

我最终通过代码控制菜单的打开和关闭。

为此,我必须从菜单中删除数据切换

<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret">  </b></a>

感谢您的帮助。