Skip to main content Skip to docs navigation
View on GitHub

List group列表组

List groups are a flexible and powerful component for displaying a series of content. 列表组是一个灵活而强大的组件,用于显示一系列内容。Modify and extend them to support just about any content within.修改和扩展它们以支持其中的任何内容。

Basic example基本示例

The most basic list group is an unordered list with list items and the proper classes. 最基本的列表组是一个无序列表,包含列表项和适当的类。Build upon it with the options that follow, or with your own CSS as needed.使用下面的选项或根据需要使用您自己的CSS来构建它。

  • An item
  • A second item
  • A third item
  • A fourth item
  • And a fifth one
<ul class="list-group">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>

Active items活动项目

Add .active to a .list-group-item to indicate the current active selection..active添加到.list-group-item以指示当前活动选择。

  • An active item
  • A second item
  • A third item
  • A fourth item
  • And a fifth one
<ul class="list-group">
<li class="list-group-item active" aria-current="true">An active item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>

Disabled items禁用项目

Add .disabled to a .list-group-item to make it appear disabled. .disabled添加到.list-group-item以使其显示为禁用Note that some elements with .disabled will also require custom JavaScript to fully disable their click events (e.g., links).请注意,某些带有.disabled的元素还需要自定义JavaScript来完全禁用其单击事件(例如链接)。

  • A disabled item
  • A second item
  • A third item
  • A fourth item
  • And a fifth one
<ul class="list-group">
<li class="list-group-item disabled" aria-disabled="true">A disabled item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>

Use <a>s or <button>s to create actionable list group items with hover, disabled, and active states by adding .list-group-item-action. 使用<a><button>通过添加.list-group-item-action来创建具有悬停、禁用和活动状态的可操作列表组项。We separate these pseudo-classes to ensure list groups made of non-interactive elements (like <li>s or <div>s) don’t provide a click or tap affordance.我们将这些伪类分开,以确保由非交互元素(如<li><div>)组成的列表组不提供单击或点击提示。

Be sure to not use the standard .btn classes here.请确保不要在此处使用标准的.btn类。

<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">
The current link item
</a>
<a href="#" class="list-group-item list-group-item-action">A second link item</a>
<a href="#" class="list-group-item list-group-item-action">A third link item</a>
<a href="#" class="list-group-item list-group-item-action">A fourth link item</a>
<a href="#" class="list-group-item list-group-item-action disabled" tabindex="-1" aria-disabled="true">A disabled link item</a>
</div>

With <button>s, you can also make use of the disabled attribute instead of the .disabled class. 利用<button>,您还可以使用disabled属性而不是.disabled类。Sadly, <a>s don’t support the disabled attribute.不幸的是,<a>s不支持禁用的属性。

<div class="list-group">
<button type="button" class="list-group-item list-group-item-action active" aria-current="true">
The current button
</button>
<button type="button" class="list-group-item list-group-item-action">A second item</button>
<button type="button" class="list-group-item list-group-item-action">A third button item</button>
<button type="button" class="list-group-item list-group-item-action">A fourth button item</button>
<button type="button" class="list-group-item list-group-item-action" disabled>A disabled button item</button>
</div>

Flush齐平

Add .list-group-flush to remove some borders and rounded corners to render list group items edge-to-edge in a parent container (e.g., cards).添加.list-group-flush可删除一些边框和圆角,以便在父容器(如卡片)中边对边呈现列表组项目。

  • An item
  • A second item
  • A third item
  • A fourth item
  • And a fifth one
<ul class="list-group list-group-flush">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>

Numbered编号

Add the .list-group-numbered modifier class (and optionally use an <ol> element) to opt into numbered list group items. 添加.list-group-numbered修饰符类(并可以选择使用<ol>元素)以选择编号列表组项。Numbers are generated via CSS (as opposed to a <ol>s default browser styling) for better placement inside list group items and to allow for better customization.数字是通过CSS生成的(与<ol>的默认浏览器样式相反),以便更好地放置在列表组项目中,并允许更好的自定义。

Numbers are generated by counter-reset on the <ol>, and then styled and placed with a ::before pseudo-element on the <li> with counter-increment and content.编号是由<ol>上的counter-reset生成的,然后利用<li>上的::before伪元素配合counter-incrementcontent样式化编号和放置编号。

  1. Cras justo odio
  2. Cras justo odio
  3. Cras justo odio
<ol class="list-group list-group-numbered">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Cras justo odio</li>
</ol>

These work great with custom content as well.这些对自定义内容也很有用。

  1. Subheading
    Cras justo odio
    14
  2. Subheading
    Cras justo odio
    14
  3. Subheading
    Cras justo odio
    14
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<div class="fw-bold">Subheading</div>
Cras justo odio
</div>
<span class="badge bg-primary rounded-pill">14</span>
</li>
</ol>

Horizontal水平的

Add .list-group-horizontal to change the layout of list group items from vertical to horizontal across all breakpoints. 添加.list-group-horizontal可跨所有断点将列表组项的布局从垂直更改为水平。Alternatively, choose a responsive variant .list-group-horizontal-{sm|md|lg|xl|xxl} to make a list group horizontal starting at that breakpoint’s min-width. 或者,选择一个响应变量.list-group-horizontal-{sm|md|lg|xl|xxl},以使列表组从该断点的min-width开始水平。Currently horizontal list groups cannot be combined with flush list groups.当前水平列表组不能与齐平列表组组合。

ProTip: Want equal-width list group items when horizontal? ProTip:水平时是否需要等宽列表组项目?Add .flex-fill to each list group item.请向每个列表组项添加.flex-fill

  • An item
  • A second item
  • A third item
  • An item
  • A second item
  • A third item
  • An item
  • A second item
  • A third item
  • An item
  • A second item
  • A third item
  • An item
  • A second item
  • A third item
  • An item
  • A second item
  • A third item
<ul class="list-group list-group-horizontal">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-sm">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-md">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-lg">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-xl">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>
<ul class="list-group list-group-horizontal-xxl">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
</ul>

Contextual classes上下文类

Use contextual classes to style list items with a stateful background and color.使用上下文类为列表项设置有状态背景和颜色的样式。

  • A simple default list group item
  • A simple primary list group item
  • A simple secondary list group item
  • A simple success list group item
  • A simple danger list group item
  • A simple warning list group item
  • A simple info list group item
  • A simple light list group item
  • A simple dark list group item
<ul class="list-group">
<li class="list-group-item">A simple default list group item</li>
<li class="list-group-item list-group-item-primary">A simple primary list group item</li>
<li class="list-group-item list-group-item-secondary">A simple secondary list group item</li>
<li class="list-group-item list-group-item-success">A simple success list group item</li>
<li class="list-group-item list-group-item-danger">A simple danger list group item</li>
<li class="list-group-item list-group-item-warning">A simple warning list group item</li>
<li class="list-group-item list-group-item-info">A simple info list group item</li>
<li class="list-group-item list-group-item-light">A simple light list group item</li>
<li class="list-group-item list-group-item-dark">A simple dark list group item</li>
</ul>

Contextual classes also work with .list-group-item-action. 上下文类也可用于.list-group-item-actionNote the addition of the hover styles here not present in the previous example. 请注意,此处添加了上一个示例中没有的悬停样式。Also supported is the .active state; apply it to indicate an active selection on a contextual list group item.还支持.active状态;应用它以指示上下文列表组项上的活动选择。

<div class="list-group">
<a href="#" class="list-group-item list-group-item-action">A simple default list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-primary">A simple primary list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-secondary">A simple secondary list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-success">A simple success list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-danger">A simple danger list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-warning">A simple warning list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-info">A simple info list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-light">A simple light list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-dark">A simple dark list group item</a>
</div>
Conveying meaning to assistive technologies向辅助技术传达意义

Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies – such as screen readers. 使用颜色来增加意义只能提供视觉指示,而不会传达给屏幕阅读器等辅助技术的用户。Ensure that information denoted by the color is either obvious from the content itself (e.g. the visible text), or is included through alternative means, such as additional text hidden with the .visually-hidden class.确保由颜色表示的信息在内容本身(例如可见文本)中是明显的,或者通过其他方式包括,例如使用.visually-hidden类隐藏的其他文本。

With badges带徽章

Add badges to any list group item to show unread counts, activity, and more with the help of some utilities.在一些实用程序的帮助下,向任何列表组项目添加徽章,以显示未读计数、活动等。

  • A list item 14
  • A second list item 2
  • A third list item 1
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-items-center">
A list item
<span class="badge bg-primary rounded-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
A second list item
<span class="badge bg-primary rounded-pill">2</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
A third list item
<span class="badge bg-primary rounded-pill">1</span>
</li>
</ul>

Custom content自定义内容

Add nearly any HTML within, even for linked list groups like the one below, with the help of flexbox utilities.flexbox实用程序的帮助下,在中添加几乎所有的HTML,即使对于下面这样的链接列表组也是如此。

<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">List group item heading</h5>
<small>3 days ago</small>
</div>
<p class="mb-1">Some placeholder content in a paragraph.</p>
<small>And some small print.</small>
</a>
<a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">List group item heading</h5>
<small class="text-muted">3 days ago</small>
</div>
<p class="mb-1">Some placeholder content in a paragraph.</p>
<small class="text-muted">And some muted small print.</small>
</a>
<a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">List group item heading</h5>
<small class="text-muted">3 days ago</small>
</div>
<p class="mb-1">Some placeholder content in a paragraph.</p>
<small class="text-muted">And some muted small print.</small>
</a>
</div>

Checkboxes and radios复选框和单选钮

Place Bootstrap’s checkboxes and radios within list group items and customize as needed. 将Bootstrap的复选框和单选钮放在列表组项目中,并根据需要进行自定义。You can use them without <label>s, but please remember to include an aria-label attribute and value for accessibility.您可以使用它们而不使用<label>、 但请记住包含一个aria-label属性和值以实现可访问性。

  • First checkbox
  • Second checkbox
  • Third checkbox
  • Fourth checkbox
  • Fifth checkbox
<ul class="list-group">
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
First checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Second checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Third checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Fourth checkbox
</li>
<li class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="" aria-label="...">
Fifth checkbox
</li>
</ul>

And if you want <label>s as the .list-group-item for large hit areas, you can do that, too.如果你愿意<label>作为.list-group-item以实现大命中区域,您也可以这样做。

<div class="list-group">
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
First checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Second checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Third checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Fourth checkbox
</label>
<label class="list-group-item">
<input class="form-check-input me-1" type="checkbox" value="">
Fifth checkbox
</label>
</div>

Sass

Variables变量

$list-group-color:                  $gray-900;
$list-group-bg:                     $white;
$list-group-border-color:           rgba($black, .125);
$list-group-border-width:           $border-width;
$list-group-border-radius:          $border-radius;
$list-group-item-padding-y:         $spacer * .5;
$list-group-item-padding-x:         $spacer;
$list-group-item-bg-scale:          -80%;
$list-group-item-color-scale:       40%;
$list-group-hover-bg:               $gray-100;
$list-group-active-color:           $component-active-color;
$list-group-active-bg:              $component-active-bg;
$list-group-active-border-color:    $list-group-active-bg;
$list-group-disabled-color:         $gray-600;
$list-group-disabled-bg:            $list-group-bg;
$list-group-action-color:           $gray-700;
$list-group-action-hover-color:     $list-group-action-color;
$list-group-action-active-color:    $body-color;
$list-group-action-active-bg:       $gray-200;

Mixins杂合体

Used in combination with $theme-colors to generate the contextual variant classes for .list-group-items.$theme-colors结合使用,为.list-group-item生成上下文变量类

@mixin list-group-item-variant($state, $background, $color) {
.list-group-item-#{$state} {
color: $color;
background-color: $background;
&.list-group-item-action {
&:hover,
&:focus {
color: $color;
background-color: shade-color($background, 10%);
}
&.active {
color: $white;
background-color: $color;
border-color: $color;
}
}
}
}

Loop循环

Loop that generates the modifier classes with the list-group-item-variant() mixin.使用list-group-item-variant()杂合体生成修饰符类的循环。

// List group contextual variants
//
// Add modifier classes to change text and background color on individual items.
// Organizationally, this must come after the `:hover` states.

@each $state, $value in $theme-colors {
$list-group-variant-bg: shift-color($value, $list-group-item-bg-scale);
$list-group-variant-color: shift-color($value, $list-group-item-color-scale);
@if (contrast-ratio($list-group-variant-bg, $list-group-variant-color) < $min-contrast-ratio) {
$list-group-variant-color: mix($value, color-contrast($list-group-variant-bg), abs($list-group-item-color-scale));
}
@include list-group-item-variant($state, $list-group-variant-bg, $list-group-variant-color);
}

JavaScript behaviorJavaScript行为

Use the tab JavaScript plugin—include it individually or through the compiled bootstrap.js file—to extend our list group to create tabbable panes of local content.使用选项卡JavaScript插件将其单独包含或通过编译的bootstrap.js文件扩展列表组,以创建本地内容的可选项卡窗格。

<div class="row">
<div class="col-4">
<div class="list-group" id="list-tab" role="tablist">
<a class="list-group-item list-group-item-action active" id="list-home-list" data-bs-toggle="list" href="#list-home" role="tab" aria-controls="list-home">Home</a>
<a class="list-group-item list-group-item-action" id="list-profile-list" data-bs-toggle="list" href="#list-profile" role="tab" aria-controls="list-profile">Profile</a>
<a class="list-group-item list-group-item-action" id="list-messages-list" data-bs-toggle="list" href="#list-messages" role="tab" aria-controls="list-messages">Messages</a>
<a class="list-group-item list-group-item-action" id="list-settings-list" data-bs-toggle="list" href="#list-settings" role="tab" aria-controls="list-settings">Settings</a>
</div>
</div>
<div class="col-8">
<div class="tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="list-home" role="tabpanel" aria-labelledby="list-home-list">...</div>
<div class="tab-pane fade" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">...</div>
<div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">...</div>
<div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">...</div>
</div>
</div>
</div>

Using data attributes使用data属性

You can activate a list group navigation without writing any JavaScript by simply specifying data-bs-toggle="list" or on an element. 只需在列表组或者在列表组元素上指定data-bs-toggle="list"即可激活列表组导航,而无需编写任何JavaScript。Use these data attributes on .list-group-item..list-group-item上使用这些数据属性。

<div role="tabpanel">
<!-- List group -->
<div class="list-group" id="myList" role="tablist">
<a class="list-group-item list-group-item-action active" data-bs-toggle="list" href="#home" role="tab">Home</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#profile" role="tab">Profile</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#messages" role="tab">Messages</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#settings" role="tab">Settings</a>
</div>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="home" role="tabpanel">...</div>
<div class="tab-pane" id="profile" role="tabpanel">...</div>
<div class="tab-pane" id="messages" role="tabpanel">...</div>
<div class="tab-pane" id="settings" role="tabpanel">...</div>
</div>
</div>

Via 通过JavaScript

Enable tabbable list item via JavaScript (each list item needs to be activated individually):通过JavaScript启用选项卡式列表项(每个列表项需要单独激活):

var triggerTabList = [].slice.call(document.querySelectorAll('#myTab a'))
triggerTabList.forEach(function (triggerEl) {
var tabTrigger = new bootstrap.Tab(triggerEl)
triggerEl.addEventListener('click', function (event) {
event.preventDefault()
tabTrigger.show()
})
})

You can activate individual list item in several ways:您可以通过多种方式激活单个列表项:

var triggerEl = document.querySelector('#myTab a[href="#profile"]')
bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name

var triggerFirstTabEl = document.querySelector('#myTab li:first-child a')
bootstrap.Tab.getInstance(triggerFirstTabEl).show() // Select first tab

Fade effect渐隐效果

To make tabs panel fade in, add .fade to each .tab-pane. 要使选项卡面板渐隐,请在每个.tab-pane中添加.fadeThe first tab pane must also have .show to make the initial content visible.第一个选项卡窗格还必须具有.show以使初始内容可见。

<div class="tab-content">
<div class="tab-pane fade show active" id="home" role="tabpanel">...</div>
<div class="tab-pane fade" id="profile" role="tabpanel">...</div>
<div class="tab-pane fade" id="messages" role="tabpanel">...</div>
<div class="tab-pane fade" id="settings" role="tabpanel">...</div>
</div>

Methods方法

constructor构造函数

Activates a list item element and content container. 激活列表项元素和内容容器。Tab should have either a data-bs-target or an href targeting a container node in the DOM.选项卡应具有指向DOM中容器节点的data-bs-targethref

<div class="list-group" id="myList" role="tablist">
<a class="list-group-item list-group-item-action active" data-bs-toggle="list" href="#home" role="tab">Home</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#profile" role="tab">Profile</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#messages" role="tab">Messages</a>
<a class="list-group-item list-group-item-action" data-bs-toggle="list" href="#settings" role="tab">Settings</a>
</div>
<div class="tab-content">
<div class="tab-pane active" id="home" role="tabpanel">...</div>
<div class="tab-pane" id="profile" role="tabpanel">...</div>
<div class="tab-pane" id="messages" role="tabpanel">...</div>
<div class="tab-pane" id="settings" role="tabpanel">...</div>
</div>
<script>
var firstTabEl = document.querySelector('#myTab a:last-child')
var firstTab = new bootstrap.Tab(firstTabEl)
firstTab.show()
</script>

show显示

Selects the given list item and shows its associated pane. 选择给定的列表项并显示其关联的窗格。Any other list item that was previously selected becomes unselected and its associated pane is hidden. 以前选择的任何其他列表项将变为未选择,其关联窗格将隐藏。Returns to the caller before the tab pane has actually been shown在实际显示选项卡窗格之前返回调用方 (for example, before the shown.bs.tab event occurs).(例如,在显示的.bs.tab事件发生之前)。

  var someListItemEl = document.querySelector('#someListItem')
var tab = new bootstrap.Tab(someListItemEl)
tab.show()

dispose

Destroys an element’s tab.销毁元素的选项卡。

getInstance

Static method which allows you to get the tab instance associated with a DOM element静态方法,该方法允许您获取与DOM元素关联的选项卡实例

var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getInstance(triggerEl) // Returns a Bootstrap tab instance

getOrCreateInstance

Static method which allows you to get the tab instance associated with a DOM element, or create a new one in case it wasn’t initialised静态方法,该方法允许您获取与DOM元素关联的选项卡实例,或者在未初始化的情况下创建一个新实例

var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getOrCreateInstance(triggerEl) // Returns a Bootstrap tab instance

Events事件

When showing a new tab, the events fire in the following order:显示新选项卡时,事件按以下顺序触发:

  1. hide.bs.tab (on the current active tab)(在当前活动选项卡上)
  2. show.bs.tab (on the to-be-shown tab)(在“待显示”选项卡上)
  3. hidden.bs.tab (on the previous active tab, the same one as for the hide.bs.tab event)(在上一个活动选项卡上,与hide.bs.tab事件相同)
  4. shown.bs.tab (on the newly-active just-shown tab, the same one as for the show.bs.tab event)(在新激活的刚刚显示的选项卡上,与show.bs.tab事件相同)

If no tab was already active, the hide.bs.tab and hidden.bs.tab events will not be fired.如果没有选项卡处于活动状态,则不会触发hide.bs.tab事件和hidden.bs.tab事件。

Event type事件类型 Description描述
show.bs.tab This event fires on tab show, but before the new tab has been shown. 此事件在tab show(选项卡显示)时触发,但在显示新选项卡之前触发。Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.使用event.targetevent.relatedTarget分别以活动选项卡和上一个活动选项卡(如果可用)为目标。
shown.bs.tab This event fires on tab show after a tab has been shown. 显示选项卡后,在“选项卡显示”时激发此事件。Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.使用event.targetevent.relatedTarget分别以活动选项卡和上一个活动选项卡(如果可用)为目标。
hide.bs.tab This event fires when a new tab is to be shown (and thus the previous active tab is to be hidden). 当显示新选项卡(从而隐藏以前的活动选项卡)时触发此事件。Use event.target and event.relatedTarget to target the current active tab and the new soon-to-be-active tab, respectively.使用event.targetevent.relatedTarget分别以当前活动选项卡和即将活动的新选项卡为目标。
hidden.bs.tab This event fires after a new tab is shown (and thus the previous active tab is hidden). 此事件在显示新选项卡(从而隐藏以前的活动选项卡)后激发。Use event.target and event.relatedTarget to target the previous active tab and the new active tab, respectively.使用event.targetevent.relatedTarget分别针对上一个活动选项卡和新的活动选项卡。
var tabElms = document.querySelectorAll('a[data-bs-toggle="list"]')
tabElms.forEach(function(tabElm) {
tabElm.addEventListener('shown.bs.tab', function (event) {
event.target // newly activated tab
    event.relatedTarget // previous active tab
  })
}