ドロップダウン メガ メニューには、人気のある hoverIntent jQuery プラグインを使用しています。
http://cherne.net/brian/resources/jquery.hoverIntent.html
リストアイテムに添付しています:
$myMenuOfLIs
.hoverIntent(megaConfig)
これは意図したとおりに機能します。マウスを LI の上に置くと、hoverIntent がトリガーされ、メニューが表示されます。
各 LI には、アンカー タグ (リンク) もあります。リンク(フォーカス)への個人タブを作成してから、メニューもトリガーできるようにしたいと思います。これは、キーボードを介してメニューを機能させるためです。
さまざまな設定を試しましたが、どれもうまくいかないようです:
$myMenuOfLIs
.hoverIntent(megaConfig)
.find('a:first')
.hoverIntent(megaConfig)
$myMenuOfLIs
.hoverIntent(megaConfig)
.find('a:first')
.hover()
そして、この混乱でさえ:
$myMenuOfLIs
.hoverIntent(megaConfig)
.find('a:first')
.focus(function(){
$(this).parent().hover(function(){
$(this).hoverIntent(megaConfig)
})
})
キーボード/フォーカス イベントと一緒に hoverIntent を使用した人はいますか? 私の構文またはロジックは間違っていますか?
更新/解決策:
hoverIntent ロジックを掘り下げていたところ、それ自体がメニューを表示/非表示にする機能をトリガーしていることに気付きました。私の特定の問題の解決策は、別のイベントを介して hoverIntent をトリガーするのではなく、フォーカス イベントを介して hoverIntent が直接呼び出す関数を呼び出すことです。後から考えると明らかです。