0

情况

  • 我的网站上有一个导航栏,其中我拥有几个下拉菜单/超级菜单。
  • 当用户可以选择使用键盘上的箭头键上下“滚动”页面时,我需要单击此下拉菜单。
  • 使用已经可以使用的鼠标滚轮
  • 但是键盘不会......即使您将焦点(在jquery中使用.focus())设置在导航栏之外的元素上。
  • JSFiddle 在这里,如果没有出现下拉菜单,请调整屏幕大小..

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

我已经尝试过案例

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

或者

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

对不起我的英语不好。

4

1 回答 1

0

所以,伙计们,我最终找到了答案。

点击这里查看最终的 jsFiddle

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

避免此事件的传播。

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

为此,我不得不从菜单中删除数据切换。

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

谢谢您的帮助。

于 2014-05-29T15:40:35.817 回答