2017-11-11 3 views
1

大きな画面にドロップダウンメニューを持つナビゲーションがあり、小さな画面に対して適切な応答動作を作成するために、親リンクにpreventDefaultを設定しました。ドロップダウンメニュー。ただし、キーボードからサイトを移動しようとしたときに、親リンクにタブしてEnter/Returnキーを押すと、何も起こりません。これは、クリック時に設定されているにもかかわらず、そのリンクにpreventDefaultが設定されているためです。タブと入力がナビゲートに使用されるときのpreventDefault onclickのオーバーライド

ナビゲーションとヒットリターンでタブするときにpreventDefaultを上書きする明確な方法はありますか?理想的には、タブ移動時に親リンクのフォーカスを検出し、そのドロップダウンメニューを表示して、タブを通過させることができます。

ここでクリック機能のための基本的なjQueryのコードは、で "と(両方のマウスとキーボードのイベントが含まれます)あなたのjavascriptの「クリック」イベントを交換するように私には思える...

$('.parent-link').click(function (e) { 
    e.preventDefault(); 
    // other things happen, but they're not relevant to this issue 
}; 

答えて

0

ですマウスイベント "を選択すると、リンク上の"マウス "イベントのみが無効になり、キーボードイベントがきれいに保たれます。

関連する問題