5

セレクトのように使うためにカスタマイズしたこのメニューがあります。つまり、クロムでは問題なく動作しますが、Firefoxでは動作しません。通常の動作は次のとおりです。メニューがフォーカスで展開されると、リンクが表示され(ヘルプとログオフ)、クリックすると、同じブラウザの他のページにリダイレクトされます。Firefoxでの間違った動作:メニューはフォーカスで拡張されましたが、リンク(hepとlogoff)はリダイレクトされません。

    <ul id="main">
                <li class="username" tabindex="1" >  <a>USER</a>
                    <ul class="curent_buser">
                        <li class="ai"><a class="jaximus"href="http://en.wikipedia.org/wiki/Wiki">Help</a></li>
<li class="aj"><a class="jaximus" href="http://en.wikipedia.org/wiki/Wiki" name="logoff">Log Off</a></li>                </ul>
                </li>
            </ul>

なぜこのFirefoxをやっているのですか?私はffの最後のバージョンを持っています:|

ここにフィドルの例があります:http://jsfiddle.net/RwtHn/1152/

4

2 に答える 2

5

これは、「ヘルプ」または「ログオフ」のいずれかを押すとすぐに、要素を含む要素がフォーカスを取得してアクティブになり、このルールが「非アクティブ」になるためです。

#main li:focus ul, #main a:active + ul{
display:block;
}

したがって、リンク(またはより具体的にはリンクを含むul)は、リンクのクリックが完了する前に消えます。

少なくとも、これはFirefoxがそれを処理する方法のようです。

編集:セレクターを追加すると機能するはずです

#main li.username:active ul

上記のルールに。

于 2012-08-28T09:28:48.143 に答える
3

最終的なルールを次のように変更します。

#main li:focus ul, #main a:active + ul,
#main li ul:hover
{
display:block;
}

この#main li ul:hoverルールは、クリックして登録するのに十分な時間、サブメニューが開いたままになることを意味します。

フォークされたJSフィドルを参照してください

psクールなトリック、私はこれまでこのように選択ボックスが起動するのを見たことがありません。

于 2012-08-28T09:43:45.617 に答える