Na karcie Bootstrap Twittera pokazane zostało zdarzenie, które nie zostało wystrzelone na stronie
Na stronie, na której mamn tabs i następujący skrypt (coffeescript, sprawdziłem skompilowany javascript i wygląda na to, że jest w porządku) ...
$ ->
init()
init = ->
$('a[data-toggle="tab"]').on 'shown', (event) ->
shown = event.target
console.log("Showing tab: " + shown)
Teraz „pokazane” zdarzenie nie uruchamia się po załadowaniu strony, więc dla pierwszej karty wyświetlanej na stronie nie ma sposobu, aby sobie z tym poradzić (np. Ładowanie treści przez xhr)
Próbowałem dodać to do powyższego skryptu, aby sprawdzić, czy uruchomienie go ręcznie może działać:
$('a[data-toggle="tab"]:first').tab 'show'
... ale tak nie było.
To jest kod HTML, którego używam w mojej opinii
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active">
<a href="#updates" data-toggle="tab"><%=t :updates, :scope => 'user.profile.sections'%></a>
</li>
<li class="">
<a href="#activity" data-toggle="tab"><%=t :activity, :scope => 'user.profile.sections'%></a>
</li>
<li class="">
<a href="#articles" data-toggle="tab"><%=t :articles, :scope => 'user.profile.sections'%></a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="updates">
</div>
<div class="tab-pane" id="activity">
</div>
<div class="tab-pane" id="articles">
</div>
</div>
</div>
Jakaś wskazówka?