ノート:
解決策を見つけたと思います。長い投稿で申し訳ありません。最後のliの最後のhrefで「focusout」を使用しています。これまでのところうまくいくようです。
var lastLi = jQuery("#items").find('li:last');
jQuery(lastLi).last('a').focusout(function(eve){
// close em'
});
そのため、CSS メニューからタブに移動するコードを作成しています。そのため、タブを使用してメニュー項目に移動する人に注意する必要があります。最後のリンク(以下のコードの最後のLI)を離れて次のナビゲーション項目(存在する可能性のあるリンク)に移動するときを除いて、かなりうまく機能しています。メニューが固まる (開いたままになる)。そのリンクにキーアップを配置して前のメニューを閉じることも簡単にできますが、サイトが動的であるため、それらの「他のリンク」が存在しない可能性があるため、どのリンクが続くかを実際に計画することはできません.
私はやりたいと思っていた
jQuery('#itemsForSale').bind('blur', function() {//close menu})
運がない。
ここにコードのスニペットがあります。
<ul id='siteNavigation'>
<li id="itemsForSale">
<div id="items">
<ul id='itemNav'>
<li>
<div id="menu1">
<ul>
<li>menu 1 item 1</li>
<li>menu 1 item 2</li>
</ul>
</div>
</li>
<li>
<div id="menu2">
<ul>
<li>menu 2 item 1</li>
<li>menu 2 item 2</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li>Link that Might exist</li>
<li>AnotherLink that Might exist</li>
</ul>
したがって、最後の 2 つの li が存在する場合と存在しない場合があるため、ID「itemsForSale」で「blur」イベントをキャプチャしようとしていますが、うまくいきません。「キーアウト」イベントはないようです。この特定の li id="menu 2 item 2" または親の li id="itemsForSale" を終了したときに、タブを介して知る方法はありますか?
気をつけてください、私は他のタブなどのほとんどすべてを持っています..うまく機能しています。しかし、ユーザーがその最後の項目 (上記の私の場合: menu 2 item 2 ) に到達し、そこから移動した場合、それを知る方法。
また、「itemsForSale」で「最後の LI」をキャプチャしようとしましたが、これも失敗でした。ぼかしは機能していないようです。私もそれでsetTimeoutを使ってみました、灘。何かアドバイス?
注: タブまたは「シフト タブ」のキーを押して、この決定を行う必要があることを忘れないでください。
jQuery("#items").find('li:last')