2013-04-04 66 views
2

我想顯示在標籤激活警報對話框,但它不工作:Twitter Bootstrap - 如何調用標籤激活功能?

$('#myTab').on('shown', function (e) { 
alert('test') 
}) 

我不知道我做錯了什麼......

+0

你是否包含'bootstrap-tab.js'或者它是你的bootstrap.js文件的一部分? – Alan 2013-04-04 22:40:27

+0

假設您通過''''元素'上的'點擊'來顯示標籤;您可以簡單地使用'click'而不是'shown'來觸發打開選項卡的元素。 – alix 2013-04-04 22:47:43

+0

它是bootstrap.js的一部分 – user2246933 2013-04-04 22:49:01

回答

0

在引導有active類激活的元素。你可以檢查這個類而不是shown。像這樣的東西可能適合你:

($('#myTab').hasClass('active')) 
+0

這不完全是我想要的。我需要對激活事件做出反應,而不是檢查情況並積極等待。 – user2246933 2013-04-05 09:09:52

+0

點擊後它立即有'active'類。有兩種方法可以做到這一點,我知道:首先'hasClass'方法;第二個是你可以使用'click'事件。所以你可以在標籤的觸發點擊時作出反應。 – alix 2013-04-05 13:27:37

-1

嘿,首先沒有什麼錯,我可以看到你的代碼。所以可能應該有一些導入庫的問題。無論如何,我想建議你另一種方式,我廣泛使用時,建立HTML/JavaScript應用程序。

我使用KnockoutJS來處理動態內容,事件和數據。這是一個非常棒的框架,使許多事情變得更加容易。最近我使用這個twitter引導程序,它使bootstrap更強大。

因爲你要檢查這個例子。也許你可以通過點擊幾下來學習。 Knockout click binding

2

在Twitter Bootstrap中,有一個事件在選項卡顯示(show.bs.tab)上觸發。鑑於以下標籤:

<ul class="nav nav-tabs" id="myTab"> 
    <li class="active"><a href="#home" data-toggle="tab">Home</a></li> 
    <li><a href="#profile" data-toggle="tab">Profile</a></li> 
    <li><a href="#messages" data-toggle="tab">Messages</a></li> 
    <li><a href="#settings" data-toggle="tab">Settings</a></li> 
</ul> 

...這裏是JavaScript,您可以使用:

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { 
    alert(e.target); // activated tab 
}); 
0

@alix是正確的,你需要調用初始化當標籤被激活。我多次遇到此問題,並在選項卡頁面上實現此功能時一直忘記這一事實。