Backbone.js与Twitter Bootstrap选项卡 - 删除链接中的#

时间:2012-07-31 12:21:26

标签: javascript jquery backbone.js twitter-bootstrap underscore.js

我正在使用Twitter bootstrap的标签插件,它需要激活到标签的链接,以包含以#开头的网址片段,后跟包含标签的HTML内容的div的id

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

有没有办法摆脱不得不使用#?另外,我尝试删除链接中的#,然后点击链接,不会让浏览器按照链接进行操作!

我正在使用backbone.js和pushstates,所以我希望链接不包含#,点击它会将网址更新为mydomain.com/home而不是{{1 }}

mydomain.com/#home

和...

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

可以这样做吗?或者我最好使用backbone.js编写自己的标签功能?

2 个答案:

答案 0 :(得分:3)

只需在

上设置data-url属性即可

并执行以下操作:

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

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

答案 1 :(得分:1)

我可以看到有不同类型的标签,如果您按照基本标签示例而不是标签示例这不起作用吗?

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

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