2012-10-12 48 views
0

我使用Backbonejs路由並試圖獲得觸發路由的元素,例如元素,如果我有:Backbonejs獲得該觸發的路由

<a href="#/files" id="link123">Click</a>,反正是有一個路線內知道哪些要素是點擊這樣我就可以得到id或class該元素的任意屬性?

謝謝!

+0

難道那種打敗路線點?它們的意思是可以收藏的,如果你讓它們依賴點擊的元素,這是行不通的。爲什麼不只是使用普通的點擊事件? – McGarnagle

+2

你爲什麼不發送信息以及像#/ files/link123這樣的url – Dhiraj

+0

這是一個奇怪的例子,基本上我們根據歷史滾動到頁面的某些點,所以如果你查看一個項目列表,我們滾動到你的上一個在頁面上的位置。在某些情況下,我們不想要這種行爲,所以我需要一種方法來知道哪些鏈接被點擊而不能啓用它。 – dzm

回答

0

首先,從官方文檔骨幹:

http://backbonejs.org/#Router-extend

注意,你要避免你的路由定義使用斜線

我建議以下該模式

其次爲了解決你的問題,你可以做什麼是在你的看法,綁定到「點擊」您的鏈接事件本身:

events: { 
    'click a': 'onClick' 
} 

其中

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}); 
} 

這是什麼一樣,現在,是你已經在你看來截獲,您使用的元素來觸發onClick方法。

如果您想提供更多關於您想要達到的目標的信息,或許我可以詳細闡述我的答案。

+0

這是一個不同的觀點,然後使用什麼,它有點怪異!我們將會忽略它,但是這對我們的設置是合適的。謝謝 – dzm