0

クリックした後もアクティブな状態を維持するにはボタンが必要です(不透明度が変更されました)。CSSを使用してそれを行うにはどうすればよいですか?すでに:activeクラスと:enabledクラスを試しましたが、機能しません。

実用的なソリューションを評価する。

CSSでそれが不可能な場合、誰かがjqueryでその切り替えを行うのを手伝ってくれますか?

4

3 に答える 3

6

純粋なCSSでは不可能だと思います。

これはjQueryとCSSの例です:http://jsfiddle.net/hrPcU/

$('#btn').on('click', function(e){
    //Toggle:
    $(this).toggleClass('active');
    //Activate just once:
    //$(this).addClass('active');
});​

編集(->コメント):

ボタンの外側をクリックしたときにクラスを元に戻したい場合は、次のようにしてみてください。http: //jsfiddle.net/hrPcU/1/

$(document).on('click', function(e){
    //Check if the event was fired from the button
    if($(e.target).attr('id') != 'btn'){
        $('#btn').removeClass('active');
    }else{
        $('#btn').toggleClass('active');  
    }
});

</ p>

于 2012-05-23T17:31:54.653 に答える
1
  • に似たスタイルのCSSクラスを作成します:active
  • その要素にクリックハンドラーを追加します
  • そのハンドラーで、を使用してその要素にクラスを追加しますaddClass

コンセプトコードは次のとおりです。

a:active,   /*native active pseudo-class*/
a.active {  /*your make-shift active class*/
    /*styles*/
}

$('a').on('click',function(){
    $(this).addClass('active');
});
于 2012-05-23T17:31:36.493 に答える
0

使用してみてください:http ://www.w3.org/TR/css3-selectors/#target-pseudo

例:http ://webdesignernotebook.com/examples/target.html

于 2012-05-23T17:43:59.930 に答える