Javascript Backbonejs获取触发路由的元素

Javascript Backbonejs获取触发路由的元素,javascript,backbone.js,Javascript,Backbone.js,我正在使用Backbonejs路由并尝试获取触发路由的元素,例如,如果我有: ,在路由内部是否有任何方法可以知道单击了哪个元素,从而可以获取该元素的id或类任意属性 谢谢 首先,从官方主干网文档: 请注意,您希望避免在管线定义中使用前导斜杠 我建议遵循这种模式 其次,要解决您的问题,您可以在您的视图中绑定到链接的“单击”事件,如下所示: events: { 'click a': 'onClick' } 在哪里 现在,您已经在视图中截取了用于触发onClick方法的元素 如果你能提供更

我正在使用Backbonejs路由并尝试获取触发路由的元素,例如,如果我有:

,在路由内部是否有任何方法可以知道单击了哪个元素,从而可以获取该元素的id或类任意属性


谢谢

首先,从官方主干网文档:

请注意,您希望避免在管线定义中使用前导斜杠

我建议遵循这种模式

其次,要解决您的问题,您可以在您的视图中绑定到链接的“单击”事件,如下所示:

events: {
    'click a': 'onClick'
}
在哪里

现在,您已经在视图中截取了用于触发
onClick
方法的元素


如果你能提供更多关于你想要达到的目标的信息,也许我可以详细说明我的答案。

这样做不就违背了路线的意义吗?它们应该是可书签的,如果您让它们依赖于单击的元素,那么这就不起作用。为什么不使用普通的点击事件呢?为什么不将信息与url一起发送,如#/files/link123这是一种奇怪的情况,基本上我们会根据历史记录滚动到页面的某些点,因此如果您查看项目列表,我们会滚动到您在页面上的上一个位置。在某些情况下,我们不希望出现这种行为,所以我需要一种方法来知道哪些链接被点击而无法启用。这是一个不同的视图,然后是正在使用的,这有点古怪!我们将省略它,但如果我们的设置是正确的,这将是有效的。非常感谢。
onClick: function (event) {
    event.preventDefault();
    event.stopPropagation();
    var url = $(event.currentTarget).attr('href');
    // the following line depends on how you implemented your app, this is an example
    window.app.controller.navigate(url, {trigger: true});
}