Jer*_*ler 5 jquery tabs twitter-bootstrap
我的页面上有几个选项卡,我试图在页面重新加载时保持选项卡处于活动状态。我通过将哈希值推入网址来做到这一点:
$('.nav-tabs a[data-toggle="tab"]').click(function () {
window.history.pushState("", "", $(this).attr('href'));
});
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,即使用户重新加载页面,我也会保持选项卡处于活动状态。
我正在尝试捕获shown.bs.tab事件,但显然事件在页面重新加载时不会触发,但在单击任何其他选项卡时它会起作用
$('.nav-tabs a[data-toggle="tab"]').on('shown.bs.tab', function () {
//do something
});
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?
active类被从li和中删除div.tab-pane
我什至尝试手动调用 tab.show 事件,但没有帮助
var hash = window.location.hash;
if(hash) {
$('.nav-tabs a[href="' + hash + '"]').tab('show'); //or trigger('click')
}
Run Code Online (Sandbox Code Playgroud)
似乎.tab('show');不会在已显示的选项卡上触发事件。
相反,我将其替换为.trigger('shown.bs.tab');并且它正常工作,所以我的代码现在看起来像这样:
var hash = window.location.hash;
if (hash) {
$('.nav-tabs a[href="' + hash + '"]').trigger('show.bs.tab');
}
Run Code Online (Sandbox Code Playgroud)