3

ホバー(マウスを使用)とフォーカス(キーボードからタブを押すなど)の両方でメニューをトリガーできるメガメニューを作成しています。

これは私が現在やっていることです:

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

これは機能しますが、それがキーボードとマウスの両方の操作を一緒に処理する理想的な方法であるかどうか疑問に思っています.

4

2 に答える 2

13

bind メソッドを使用して、複数のイベントを 1 つのアクションにバインドできます。

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

あなたの問題に対する答えは、UI デザインの決定です。

  • マウスのホバーまたはタブ操作は常に優先されるべきですか?
  • それとも、最新のものが優先される時間に関連する必要がありますか?
  • 反対に、メニューを開いたままにして、メニューが閉じるまで他のイベントを無効にします。

私の Mac OS が動作しているように見えるのは、最新のイベントです。おそらく、一部の Web デザイナーは別のルートに進むことを決定したのでしょうか?

于 2010-01-12T21:14:59.050 に答える