javascript - 在第一页打开时捕获引导选项卡事件
问题描述
我有以下JS代码:
const showContentBtns = document.getElementsByClassName('show-content-btn');
for (let i = 0; i < showContentBtns.length; i++) {
showContentBtns[i].addEventListener('show.bs.tab', function (event) {
console.log("I'm in show!");
});
showContentBtns[i].addEventListener('show.bs.tab', function (event) {
console.log("I'm in shown!");
});
}
和以下 HTML:
<ul class="nav nav-pills" role="tablist">
<li class="nav-item ms-1" role="presentation">
<button class="btn btn-outline-light show-content-btn active"
data-bs-toggle="pill"
data-bs-target="#one"
type="button">
Required Only
</button>
</li>
<li class="nav-item ms-1" role="presentation">
<button class="btn btn-outline-light show-content-btn"
data-bs-toggle="pill"
data-bs-target="#two"
type="button">
Semi
</button>
</li>
<li class="nav-item ms-1" role="presentation">
<button class="btn btn-outline-light show-content-btn"
data-bs-toggle="pill"
data-bs-target="#three"
type="button">
Full
</button>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="one" role="tabpanel">
One
</div>
<div class="tab-pane fade" id="two" role="tabpanel">
Two
</div>
<div class="tab-pane fade" id="one" role="tabpanel">
Three
</div>
</div>
问题 -加载页面时我无法捕获show
和/或事件。shown
当我更改标签时 - 事件按预期工作。
手动触发这些事件 ( $(selector).trigger('show.bs.tab')
) 不起作用(至少它没有任何积极影响)。这很好,因为它看起来真的很丑:)
另外,我想避免使用这样的代码:
$('button[data-bs-toggle="pill"]').on('click', function () {
$(this).tab('show');
});
$('button[data-bs-toggle="pill"]:first').tab('show');
我想这里的问题是因为引导程序在我添加这些侦听器之前触发了这些事件。
任何人有任何想法,pleeeease?)
解决方案
推荐阅读
- css - 对齐 Material UI 按钮内的图标
- sql-server - 如果 Excel 文件在导出 SSIS 之前不存在,则创建它
- reporting-services - 基于多个独立条件的行抑制
- sql - 我收到错误“从字符串转换日期和/或时间时转换失败。” 运行我的查询时
- sql-server - 带有文件系统 SSIS 包的 SQL Server 作业
- javascript - 为什么我不能在 React State 上使用点符号?
- jestjs - 将 jest 日志参数传递给导致测试失败的函数
- r - 沿向量映射并使用 purrr 系列函数输出嵌套列表(或嵌套 data.frames)的 data.frame 列?
- javascript - 对对象数组中的数字进行排序
- c# - For 循环在 C# 控制台中制作条形图