2012-08-28 15 views
6

私はこのメニューをカスタマイズして、selectのように使用しています。それは、すなわち、クロムでうまく動作しますが、Firefoxでは機能しません。通常の動作は、メニューがフォーカスされて展開されるとリンクが表示され(ヘルプとログオフ)、クリックすると同じブラウザの別のページにリダイレクトされます。 Firefoxでの動作が間違っています:メニューsiはフォーカスが上がりますが、リンク(hepとlogoff)はリダイレクトされません。a href "#"は以下の機能を持っていません:firefox browser on focus

<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/

答えて

5

あなたはどちらか、「ヘルプ」を下に押すか、「ログオフ」の瞬間がencompasing要素がフォーカスを取得して、アクティブになって、これを「非アクティブ」そのためですリンク上のクリックが完了する前に、リンク(または、より具体的にはリンクを含むul)が消滅する。

少なくともこれはfirefoxがそれをどのように処理するかのようです。

EDIT:それは上記ルールにセレクタ

#main li.username:active ul 

を加えることで動作するはずです。

+0

はい私は知っています:)しかし、どうすればそれを修正することができますか? – BurebistaRuler

+0

よくクリックして表示されるだけですか? "#main li.username:hover ul" – gabtub

+0

CSSルールを修正して、#main liの下にある任意の要素に一致させようとしています。この方法で要素が表示され、リンクがクリック可能になります。 – orique

3
これにあなたの最終規則を変更し

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

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

forked JS Fiddle

P.S.を参照してください。クールなトリック、私は決してこれまでに選択されたボックスを見たことがない。

関連する問題