2017-05-19 5 views
0

トグルボタンでフォーカスのオン/オフを処理することに問題があります。ボタンをクリックすると、フォーカスが移動し、コンテナも表示されるので、うまくいきます。ボタンをもう一度クリックすると、コンテナは消えますが、フォーカスはまだ残っています!唯一の解決策は、フォーカスを外すためにボタンの外側をクリックすることです。これは非常に悪いことです。コンテナが表示されたら(ボタンをクリック)フォーカスが表示され、コンテナが消えるとフォーカスがオフになります(ボタンを再度クリックします)。どうすれば修正できますか? ここをクリックhttps://jsfiddle.net/vo1npqdx/802/ ボタンをクリックするとコンテナが消えますが、青色(フォーカス)が残っているので、ボタンが自動で元の色に戻りません。トグルボタンにどのようにフォーカスしていますか?

CSS:

.ini{ 
color: red; 
border: 2px solid #0000FF; 
} 
.ini:hover, .ini:focus{ 
    color: blue; 
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.175); 
} 

JS:

$("#chi").hide(); 
    $("#hs1").click(function(){ 
     if($('#chi').is(':hidden')){ 
     $("#chi").toggle(500);} 
     else{$("#chi").hide(1000);} 
    }); 

HTML:あなたはこれをしたい

<a class="btn btn-default ini" id="hs1" href="#" role="button">TEST</a> 
<div class="container" id="chi"> 
     <div class="row"> 
      <div class="col-xs-11 col-sm-12 col-md-10 col-lg-8 col-centered"> 
       <div class="panel panel-primary"> 
        <div class="panel-heading"><h2>Test</h2><h5>Test</h5></div> 
        <div class="panel-body"> 
         <p>Test</p> 
         </div> 
       </div> 
      </div> 
     </div> 
     </div> 
+0

フィドルをしてください。 – codesayan

+0

アウトラインを設定することができます:0; .ini:focus cssクラスでは、フォーカスを表示したくない場合に使用します。 – Crashtor

+0

コンテナが表示されたときにフォーカスが表示されるようにしたい場合(ボタンをクリック)、コンテナが消えるとフォーカスがオフになります(ボタンを再度クリックします) – lausent

答えて

1

See this fiddle

CSS:

.ini:hover { 
    color: blue; 
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.175); 
} 

.active { 
    color: blue; 
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.175); 
} 

JS:

$("#chi").hide(); 
    $("#hs1").click(function(){ 
     $(this).toggleClass('active'); 
      if($('#chi').is(':hidden')){ 
     $("#chi").toggle(500);} 
     else{$("#chi").hide(1000);} 
    }); 
+0

YESSSSS !!ありがとう! – lausent

+0

bootstrap3で動作しません: https://jsfiddle.net/vo1npqdx/802/ – lausent

+0

「アクティブ」はブートストラップのジェネリッククラスの名前なので、名前を変更する必要があります。ここでは動作例を示します:https: //jsfiddle.net/vo1npqdx/804/ –

関連する問題