4

ページの読み込み時に初期化されるときに、アクション(アラートなど)をTwitterブートストラップタブに添付したいと思います。

後続のタブイベントにアクションを添付できます。

$('a[data-toggle="tab"]').on('show', function (e) {
    alert('tab shown');
}); 

しかし、私は最初にイベント'initialize'(またはそのイベントが呼び出されるもの)で同様のことをしたいと思います。

4

1 に答える 1

7

実装するのが現実的ではない初期化されたイベントにバインドしようとする代わりに、を削除しdata-toggle="tab"て自動初期化を無効にする必要があります。

次に、独自の初期化を行い、イベント呼び出しを模倣するためのコールバックを追加します。

$('#myTab .tab a').each(function() {
    var $this = $(this);
    $this.click(function (e) {
        e.preventDefault();
        $this.tab('show');
    });
    someCallback.call(this);
});
<ul class="nav nav-tabs" id="myTab">
    <li class="active tab"><a href="#home">Home</a></li>
    <li class="tab"><a href="#profile">Profile</a></li>
    <li class="tab"><a href="#messages">Messages</a></li>
    <li class="tab"><a href="#settings">Settings</a></li>
    <li><a href="#">Regularlink</a></li>
</ul>

イベントなどでこれを行うためのより標準的な方法は確かにありますが、これは単純で、実装が簡単です。

例(jsfiddle)

于 2012-07-04T18:40:19.070 に答える