0

ノート:

解決策を見つけたと思います。長い投稿で申し訳ありません。最後の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')
4

1 に答える 1

0

イベントを調べて、focusフォーカスされたばかりの要素がメニューの子であるかどうかを判断できますか?

于 2013-01-25T07:20:57.733 に答える