3

我正在构建一个大型菜单,我希望能够通过悬停(使用鼠标)和焦点(例如通过键盘切换到它)来触发菜单。

这就是我目前正在做的事情:

$(".megaMenu-trigger").focus(function (){$(this).hover()});
$(".megaMenu-trigger").hover(function(){
    // do the stuff
});

这可行,但我想知道这是否是同时处理键盘和鼠标交互的理想方式。

4

2 回答 2

13

您可以使用 bind 方法将多个事件绑定到一个操作,即

$('.megaMenu-trigger').bind("mouseenter focus mouseleave", 
        function(event) { console.log(event.type); }); 
于 2010-01-12T21:11:49.763 回答
0

您的问题的答案是 UI 设计决策。

  • 鼠标悬停或选项卡是否应该始终优先于另一个?
  • 还是应该与时间相关,最近的甚至优先?
  • 相反将保持菜单打开并禁用其他事件,直到菜单关闭。

我的 Mac OS 似乎工作的方式是最近的事件。也许一些网页设计师决定走不同的路线?

于 2010-01-12T21:14:59.050 回答