這是我的html:引導 'shown.bs.tab' 事件不觸發以編程方式顯示選項卡(使用選項卡( '秀'))
<div class="profile_nav_tabs" id="profile_nav_tabs">
<ul class="profile-tabs">
<li>
<a data-toggle="tab" href="#tab1">Tab 1</a>
</li>
<li>
<a data-toggle="tab" href="#tab2">Tab 2</a>
</li>
<li>
<a data-toggle="tab" href="#tab3">Tab 3</a>
</li>
</ul>
</div>
<div class="tab-content">
<div class="tab-pane" id="tab1">Tab1</div>
<div class="tab-pane" id="tab2">Tab2</div>
<div class="tab-pane" id="tab3">Tab3</div>
</div>
這是我的javascript:
(function(){
var hash = window.location.hash;
if(hash){
$("#profile_nav_tabs " + "a[href=" + hash + "]").tab('show');
}
$('#profile_nav_tabs a').on('shown.bs.tab', function(event){
window.location.hash = event.target.hash;
alert("hello");
// some ajax call
})
})();
現在,如果我刷新頁面,網址爲local.dev/users/profile/#tab1
,內容顯示爲tab1
,但shown.bs.tab
事件不會觸發。也就是說,既不顯示警報,也不顯示ajax調用。
僅當我單擊物理上的<a data-toggle="tab" href="#tab1">
時才觸發事件。
我想更改每個選項卡更改的URL,我也想要一個回調一旦頁面加載顯示選項卡。
shown.bs.tab
事件不會以編程方式顯示選項卡觸發嗎?