4

私は Twitter ブートストラップのタブ プラグインを使用しています。タブをアクティブにするリンクには、タブの HTML コンテンツを含む div で始まり、#その後に続くURL フラグメントが含まれている必要があります。id

 <a href="#home" data-toggle="tab">Home</a>
 <div class="tab-pane" id="home">...</div>

を使用する必要をなくす方法はあります#か? また、インリンクを削除してみ#ましたが、どういうわけかリンクをクリックしてもブラウザがリンクをたどりません!

私は backbone.js と pushstates を使用しているので、 を含まないリンクを探しています。#クリックすると、Web アドレスがmydomain.com/homeではなく に更新されmydomain.com/#homeます。

 <a href="home" data-toggle="tab">Home</a>
 <div class="tab-pane" id="home">...</div>

と...

$(function() {
    $('a[data-toggle="tab"]').on('shown', function(e) {
        // Update URL in address bar to trigger Backbone.js's router
        window.location.hash = e.target.hash;
    });
});

これはできますか?それとも、backbone.js を使用して独自のタブ機能を作成したほうがよいでしょうか?

4

2 に答える 2

3

にdata-url属性を設定するだけです

そして次のようなことをします:

events:
  'show .nav-tabs a': 'navigateTab'

navigateTab: (e) ->
  target = $(e.currentTarget)
  @router.navigate(target.data('url'), trigger: false)
于 2012-09-04T14:20:12.810 に答える
1

Tabbableの例ではなくBasic タブの例に従うと、さまざまな種類のタブがあることがわかりますが、これは機能しませんか?

http://twitter.github.com/bootstrap/components.html#navs

ここでの主な問題は、Tabbable の例がおそらく backbone.js バインディングと競合する jQuery プラグインを使用していることだと思います。

于 2012-07-31T12:38:04.763 に答える