2016-07-13 5 views
0

私は、モーダルウィンドウに2つのボタンを追加しました.1つのボタンは強調表示されていますが、いつでも画面上をクリックすると正常になります。どのように強調表示させることができますか?画面をクリックした後、ボタンステイをハイライト表示する方法は?

<button type="button" class="btn btn-default">New</button> 
<button type="button" class="btn btn-default">Used</button> 
<button type="button" class="btn btn-default" autofocus>Any</button> 

+0

たぶん使用しています。 –

+0

私にCSSの例を与えることができます – kapiljain123

+0

ギリシャ語が投稿したものを下に見てください。それが私が言及したものです。 –

答えて

1

HTML::

<button id="highlight" ..... ></button> 

CSS:

#highlight, #highlight:hover, #highlight:active, #highlight:focus { 
    color://any-color; 
    // more css 
} 

注:疑似クラスはホバーこれが使用している、フォーカス、アクティブ 私は、次のコードを使用していますbuのイベントが発生したときにボタンの同じスタイルを変更しないようにするトンが発生する。

+0

はい、画面の残りの部分をクリックすると変更されません。 – kapiljain123

+0

はい、最初のセレクタ#highlightが原因ですが、このボタンは1つのスタイルしか持たず、どんなイベントでもスタイルを変更しません。 –

+0

しかし、私は画面をクリックした後に変更したくありません。どうすればいいのですか。私は他のボタンを選択するときにだけ変化します。 – kapiljain123

0

モーダル内の最初の自動焦点設定は常に機能しません。あなたはjavascriptを介してボタンに焦点を当てるべきです。 http://getbootstrap.com/javascript/#modalsを参照してください。 $('#myModal').on('shown.bs.modal', function() { $('#button3').focus() })

:focusおよび:activeは、要素の状態に応じて特定のCSSルールを定義できる擬似クラスです。ブートストラップ.active.focusのクラスは、:focus:activeと同じCSSスタイルです。 したがって、常にハイライトしたいボタンに.activeまたは.focusを追加してください。

<button type="button" class="btn btn-default active">Any</button> 
+0

私はボタンを常に強調表示させたくありません。私は次のボタンを選択しない限り、それを作りたいのですが、スクリーン内のどこかをクリックするたびに効果は消えてしまいます。 – kapiljain123

+0

その場合、ボタンのクリックイベントをキャプチャし、他のボタンがクリックされたときに 'アクティブな'クラスを削除する必要があります。 removeClass( 'active'); $(this).addClass( 'active');}) '$(" button " – anu

0

あなたは、画面の別の部分をクリックすると、ボタンが強調表示さ滞在したい場合は、CSSは唯一の方法は本当にありません

var yourbuttons = document.getElementsByClassName('highlight-hover'); 
for (var i = yourbuttons.length - 1; i >= 0; i--) { 
    var currentbtn; 
    yourbuttons[i].onclick=function(){ 
     if(currentbtn){ 
      currentbtn.classList.remove("highlight"); 
      } 
      this.classList.add("highlight"); 
      currentbtn=this; 
    } 
}; 

を試してみてください。 :アクティブまたは:要素がアクティブに長くないか焦点。ここ

が、私が仕事https://jsfiddle.net/mksty8eq/

で退屈だから、あなたが一つのボタンをクリックすると、あなたがしたいと思われるものの作業バージョンだ時に自分のスタイルを削除注力します別のボタンをクリックするまでハイライトされたままになります

1

だから、あなたはほしいですかJSFiddle?あなたのボタンにフォーカスpseudoclassesして、必要な背景色にそれらを変更:アクティブと:

CSS

.active { 
    color: #F00; 
} 

JSは

$('button').on('click', function() { 
    $('button').removeClass('active'); 
    $(this).addClass('active'); 
} 
関連する問題