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?

questionAnswers(3)

yourAnswerToTheQuestion