Javascript 带有Twitter引导选项卡的Backbone.js-删除链接中的#

Javascript 带有Twitter引导选项卡的Backbone.js-删除链接中的#,javascript,jquery,backbone.js,twitter-bootstrap,underscore.js,Javascript,Jquery,Backbone.js,Twitter Bootstrap,Underscore.js,我使用的是Twitter bootstrap的tabs插件,它需要激活到tab的链接来包含URL片段,开头是#,后面是包含选项卡HTML内容的div的id <a href="#home" data-toggle="tab">Home</a> <div class="tab-pane" id="home">...</div> 而且 $(function() { $('a[data-toggle="tab"]').on('shown',

我使用的是Twitter bootstrap的tabs插件,它需要激活到tab的链接来包含URL片段,开头是
#
,后面是包含选项卡HTML内容的div的
id

 <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来编写我自己的选项卡功能?

我可以看到有不同类型的选项卡,如果您遵循基本选项卡示例而不是选项卡示例,这不起作用吗


我认为这里的主要问题是Tabbable示例使用的jQuery插件可能与backbone.js绑定冲突。

只需在

然后做一些类似的事情:

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

navigateTab: (e) ->
  target = $(e.currentTarget)
  @router.navigate(target.data('url'), trigger: false)

我猜它是这样实现的,这样网页就会优雅地降级。点击标签不应该更新你的网址(除非你的浏览器没有使用javascript)。显然,你想要的是某种看起来像标签的导航,但实际上不是标签,而是使用路由?我想让点击标签改变浏览器中的url,并触发路由器的功能,隐藏/显示标签窗格。然后你可能需要滚动自己的标签,完成后,请确保将结果开源或发布在此处,以便其他人也可以使用它们!:)我正在使用tabbable插件。如果我使用主干网,我应该只使用引导的CSS而不是插件,自己在主干网中编写标签功能吗?(型号:
Tab
,集合:
TabList
,视图:
tabBarView
tabContentsView
events:
  'show .nav-tabs a': 'navigateTab'

navigateTab: (e) ->
  target = $(e.currentTarget)
  @router.navigate(target.data('url'), trigger: false)