ページにいくつかのタブがあり、ページが読み込まれたときにそのタブをアクティブに保ちようとしています。私は、URLにプッシュハッシュすることによって、これを実行します。ブートストラップタブが表示されました。ページ読み込み時に.bs.tabが起動しません。
$('.nav-tabs a[data-toggle="tab"]').click(function() {
window.history.pushState("", "", $(this).attr('href'));
});
上記のコードで、私は、ユーザーがページをリロードする場合でも、タブアクティブに保ちます。
私はshown.bs.tab
イベントをキャッチしようとしているが、どうやらイベントは、ページのリロードでトリガされていないが、他のタブが
$('.nav-tabs a[data-toggle="tab"]').on('shown.bs.tab', function() {
//do something
});
私が間違ってやっている任意のアイデアをクリックされたときに、それは動作しますか?
編集
active
クラスは両方とも私も手動でtab.showイベントを呼び出すために試してみたli
とdiv.tab-pane
から削除されますが、それはあなたのことを確認してください
var hash = window.location.hash;
if(hash) {
$('.nav-tabs a[href="' + hash + '"]').tab('show'); //or trigger('click')
}
ページのロード時に「クリック」? 'shown.bs.tab'イベントを発生させるには' .tab( 'show') 'を呼び出す必要があると思います。 – ZimSystem
いいえ、 '.tab( 'show')'または '.trigger( 'click')'を呼び出すとどちらも動作しません。私は質問を更新しました –