2012-04-18 5 views
0

をクリックします。私はそのため<a><span>を配置し、両方に背景画像を入れています。アクティブ状態私はデザインはかなり複雑であるボタン(実際には、単にリンク)を、作成しています、と私はIE8のために最適化していて、CSS3で作ることができない要素

:hover:active上の画像の変更。すべてのブラウザでうまく動作しますが、IEではあまり効果がありません。 :hoverが正常に動作しますが、<span>をクリックすると、親<a>:active状態がトリガされません。それは意味をなさないが、私はそれが以前に動作することを見てきたので、いくつかの回避策が必要であると思いますか?

はここでフィドルです:http://jsfiddle.net/TheNix/EtjL3/

+0

が重複する可能性を使用して、クリックにクラスを追加することができますのためにここにjsFiddleだ(のhttp: //stackoverflow.com/questions/2769392/a-with-an-inner-span-not-triggering-active-state-in-ie-8) – ManseUK

答えて

0

あなたはjqueryまたはjavascriptを使用して、アクティブ状態のためcss classを設定することができます。

編集

あなたは...

$(document).ready(function() { 
    $("a span").click(function() { 
     $(this).addClass("active"); 
     $(this).parent().addClass("active"); 
    });  
}); 

およびCSSスタイルを、このようなCSSクラスを設定することができます...

a.active { background:green; } 
a.active span { background:lime; } ​ 
1

あなたはに次のjQueryを使用して試すことができますクリックしてCSSをインラインで追加します。

   $("a, span").click(function(){ 
        $(this).css("background", "green") 
        $(this).find("span").css("background", "lime")  
       }); 

それはhttp://jsfiddle.net/ollie/r5NDw/1/

代わりに[トリガーないインナー:IE 8でのアクティブ状態を]のaddClass();

+0

うーん、はい、確かに。もちろん、私はmousedown'と '' mouseup'上でそれを実行する必要がありますが、問題は、ボタン自体もトリガーされることはまだあります。私はJavascriptでそれを行うこともできますが、それはあまりにも多くのハッキングです。とにかく乾杯。 – Nix

関連する問題

 関連する問題