2017-02-14 5 views
0
  1. btn-primaryクラスが設定された4つのブートストラップボタンがあります。 ホバーまたはフォーカスで、ホバーまたはフォーカスが行われていることを示すためにボタンの色を変更したいとします。ブートストラップボタンの色とクラスをクリックまたはホバー/フォーカスに変更

  2. ボタンをクリックすると、btn-dangerブートストラップクラスを設定したいと思います。私はすでにボタンにng-clickイベントを添付しているので、ボタンへのハンドルを取得してそのボタンのCSSだけを変更することはできません。私が見た例では、jqueryのクリックイベントハンドラがありますが、これが最善のアプローチであるかどうかはわかりません

上記の2つのクエリについてのアドバイスはありますか?

<div> 
<br> 
&nbsp; 
<button type="button" class="btn btn-primary" ng-click="pendingReqCtrl.loadData('Create')">Create Requests 
     </button> 
&nbsp; 
<button type="button" class="btn btn-primary" ng-click="pendingReqCtrl.loadData('Update')">Update Requests 
     </button> 
&nbsp; 
<button type="button" class="btn btn-primary" ng-click="pendingReqCtrl.loadData('Activate')">Activation 
    Requests 
     </button> 
&nbsp; 
<button type="button" class="btn btn-primary" ng-click="pendingReqCtrl.loadData('Deactivate')">Deactivation 
    Requests 
     </button> 
</div> 
+0

何色あなたがホバー上に各ボタンを変更したいのですか?あまりにも若干暗くなるはずです。 –

+0

私は、ブートストラップが提供するホバーの色が少し変化していることに同意します。私はホバーやフォーカスの色の変化をもう少し明らかにしたいと思っています。 – megan

+0

あなたはCSSのやり方をすることができます。なぜあなたはjsで試していますか?とにかくng-classを条件ベースのCSSクラスの変更に使用します。 –

答えて

1
<button type="button" class="btn" ng-class="{ 'btn-primary': !pendingReqCtrl.isButtonHover, 'someClass': pendingReqCtrl.isButtonHover, 'btn-danger': pendingReqCtrl.isClick" ng-mouseover="onMouseOver(true)" ng-mouseleave="onMouseOver(false)" ng-click="pendingReqCtrl.loadData('Create')">Create Requests 
    </button> 

function onMouseOver(isHover){ 
    pendingReqCtrl.isButtonHover = isHover; 
} 

function loadData(){ 
    pendingReqCtrl.isClick= true; 
} 

このような何かを試してみてください。

0

ベストプラクティスとして、(直接編集するのではなく)ブートストラップスタイルを上書きする必要があります。ブートストラップのbtn-primary:hoverスタイルを上書きするには、独自のカスタムスタイルシートに追加します。

.btn-primary:hover { 
    color: #fff; 
    background-color: #286090; /* new color goes her */ 
    border-color: #204d74; 
} 

、これは btn-primary:focusスタイルを上書きします

.btn-primary.focus, .btn-primary:focus { 
    color: #fff; 
    background-color: #286090; /* new color goes her */ 
    border-color: #122b40; 
} 

はただ、これらのオーバーライドを使用して独自のスタイルシートは、ブートストラップスタイルシートの後に来ることを確認してください。そのボタンにIDを与える:あなたはこれを試すことができますが、周囲のdiv id="myButtons"を与えることができ、その後、CSSのオーバーライドが

#myButtons .btn-primary:hover { 
    color: #fff; 
    background-color: #286090; /* new color goes her */ 
    border-color: #204d74; 
} 

#myButtons .btn-primary.focus, .btn-primary:focus { 
    color: #fff; 
    background-color: #286090; /* new color goes her */ 
    border-color: #122b40; 
} 
+0

Matthewに感謝します。私はホバリングやフォーカスに似たような動作を必要としないbtn-primaryを使用する他のページを持っています。上の4つのボタンにブートストラップの上書きのみを指定する方法はありますか? – megan

0

になることができる唯一のこれらのボタンにこれを制限するには

UPDATE

あなたはcssを変更して、あなたのコントローラーからそれを呼び出すことを望みます。

は、あなたのボタンのidはコントローラから、その後、buttonIdあるとし

document.getElementById('buttonId').style.color = 'blue' 
document.getElementById('buttonId').style.width = value 
関連する問題