javascript - 如何将注意力集中在切换按钮上?

标签 javascript jquery html css

<分区>

我在处理切换按钮上的焦点开/关时遇到问题。如果我单击按钮,焦点会继续并出现容器,所以效果很好。如果我重新点击按钮,容器就会消失,但焦点仍然保持在焦点上!唯一的解决方案是在按钮外单击以关闭焦点,这非常糟糕。所以我想:当容器出现时焦点可见(单击按钮)并在容器消失时焦点关闭(重新单击按钮)。我该如何解决? 这里 fiddle :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>

最佳答案

你想要这个? 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);}
  });

关于javascript - 如何将注意力集中在切换按钮上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44070740/

相关文章:

javascript - 使用 angularjs $resource 从 Web api 调用自定义方法

javascript - 如何在移动/桌面 View 中对内容进行不同的设置?

javascript - 我将我的 jQuery 升级到 1.9.1,但我遇到了脚本问题

javascript - jQuery 对话框未显示

html - Bootstrap 4 flex-fill 不填充高度

javascript - 根据表单中给出的输入提交表单时在模式框中生成表格

javascript - colorbox:如何禁用下一个和上一个按钮

javascript - JavaScript 中的 typeof() 函数错误

javascript - 查找字符串中最长的单词

html - 在 Google Sheet 中使用 D3.js 可搜索可折叠树