如何在Backbone.js中触发Backbone.Router事件?

时间:2012-04-27 05:33:04

标签: backbone.js url-routing backbone-routing

Backbone.js中的路由器负责路由客户端页面,并根据URL将它们连接到操作和事件。但是如何触发网址更改呢?我的意思是,如果执行此操作的唯一方法是在<a>标记中包含与页面路由关联的元素。

因为我已将mousedown和mouseup事件与用于路由的元素相关联,如果我将其放在<a>标记中,则mousedown和mouseup事件肯定会变为无效,因为它会与click事件发生冲突<a>标记。那么还有其他方法可以进行路由吗?

1 个答案:

答案 0 :(得分:32)

您可以使用Router#navigate

  

导航 router.navigate(fragment, [options])

     

每当您在应用中确定要保存为网址时,请致电导航以更新网址。如果您还想调用路线功能,请将触发器选项设置为true

因此,如果你的路由器是r而你想激活#/some_route的路由,那么你可以:

r.navigate('some_route', { trigger: true });

演示(请打开你的控制台):http://jsfiddle.net/ambiguous/xkZtB/