【问题标题】:Changing default Bootstrap 3 'tabs' active class element更改默认 Bootstrap 3“选项卡”活动类元素
【发布时间】:2018-01-19 01:08:02
【问题描述】:

目前在 Bootstrap 3 中,当您使用 Bootstrap 的选项卡导航窗格时,“活动”类被放置在 <li> 元素上,如下所示:

<ul class="nav navbar-nav">
  <li class="active"><a href="#A" data-toggle="tab">A</a></li>
  <li><a href="#B" data-toggle="tab">B</a></li>
  <li><a href="#C" data-toggle="tab">C</a></li>
</ul>

相反,我试图让“活动”类在 &lt;a&gt; 元素上运行,如下所示:

<ul class="nav navbar-nav">
  <li><a class="active" href="#A" data-toggle="tab">A</a></li>
  <li><a href="#B" data-toggle="tab">B</a></li>
  <li><a href="#C" data-toggle="tab">C</a></li>
</ul>

我能够使用下面的代码添加使用 Bootstrap JavaScript 事件的“活动”类到 &lt;a&gt; 元素,但是我无法从以前的“活动”元素中删除它,也不会阻止“活动”类在&lt;li&gt; 元素上仍然发生变化。 是否有简单轻量级的解决方案将默认行为从 &lt;li&gt; 移动到子 &lt;a&gt; 元素?

$('a[data-toggle="tab"]').on('show.bs.tab', function(event) {
    $(event.target).addClass('active');
});

【问题讨论】:

    标签: javascript twitter-bootstrap twitter-bootstrap-3 tabs bootstrap-tabs


    【解决方案1】:

    与@Mina Ragaie 评论相反,注意问题内容很重要:

    相反,我试图让“活动”类继续存在于元素上,

    默认情况下,活动类跟随单击的 li,但如果您想在子锚标记上添加另一个活动类,您需要将事件从“show.bs.tab”更改为“shown.bs.tab”。添加行:

    $(this).closest('.nav').find('.active').removeClass('active');
    

    为了删除任何活动添加的类。

    在下面的sn-p一个证据:

    $('a[data-toggle="tab"]').on('shown.bs.tab', function(event) {
      $(this).closest('.nav').find('.active').removeClass('active');
      $(event.target).addClass('active');
    }).first().trigger('shown.bs.tab');
    a.active {
        background-color: blue !important;
    }
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
    
    <ul class="nav navbar-nav">
        <li class="active"><a href="#A" data-toggle="tab">A</a></li>
        <li><a href="#B" data-toggle="tab">B</a></li>
        <li><a href="#C" data-toggle="tab">C</a></li>
    </ul>

    【讨论】:

    猜你喜欢
    • 2014-08-12
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 2013-07-24
    • 1970-01-01
    相关资源
    最近更新 更多