私は自分のアプリケーションでブートストラップのタブを使用していますが、ページがデフォルトのアクティブなタブで読み込まれたときにshown.bs.tabイベントがトリガーされないという難点があります。shown.bs.tabイベントがデフォルトのタブで動作しない
以下のコードでは、デフォルトのタブ(アクティブなクラスが追加されている)である「ホーム」という名前のタブがあります。ページの読み込み時に、私の "ホーム"タブのコンテンツは完全に表示されますが、そのタブに添付された 'displayed.bs.tab'イベントはトリガーされません。 「メニュー1」タブに移動して「ホーム」タブに戻ると、同じイベントが発生します。
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home">Home</a></li>
<li><a data-toggle="tab" href="#menu1">Menu 1</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<p>Some content.</p>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<p>Some content in menu 1.</p>
</div>
</div>
<script>
$(document).ready(function(){
$("a[href='#home']").on('shown.bs.tab', function (e) {
alert('tab shown');
});
});
</script>
ページロード時にこのイベントトリガーを作成するにはどうすればよいですか?これの背後にある意図は、 "ホーム"タブの内容が動的であり、タブ上でトリガされるAjaxコールの応答が表示されます。