我有一個視圖,它爲列表中的每個項目創建一個子視圖。通常我們稱之爲ListView和ListItemView。我重視的事件上ListItemView如下:每個實例事件綁定的骨幹
events: {
"click .remove": "removeItem"
}
我有模板生成的HTML代碼中ListItemView即大約類似於以下(換磅/爲RB {/}這樣你就可以看到「非法」 HTML) :
{div class="entry" data-id="this_list_item_id"}
SOME STUFF HERE
{div class="meta"}
{a class="remove" href="javascript:;"}[x]{/a}
{/div}
{/div}
的問題是,當所有的[X]的點擊,所有的ListItemViews的觸發他們的removeItem功能。如果我把它放到這個模型的ID上,那麼我將所有的項目放在頁面上。如果我已經將單擊項目的父元素的父元素去掉以獲取數據標識,那麼我會爲每個ListItemView實例獲取一個刪除。有沒有辦法創建一個只觸發單個removeItem的特定於實例的事件?
如果我有ListView保存ListItemView的單個實例,並重新分配ListItem模型,併爲列表中的每個項目渲染它的作品。我只能結束一個動作(removeItem)被觸發。問題是,我必須找到點擊目標父級的父級才能找到data-id attr。就我個人而言,我認爲下面的代碼片段相當難看,想要更好的方法。
var that = $($(el.target).parent()).parent();
任何人的幫助將不勝感激。
您是否也可以提供您的視圖代碼? – 2012-01-04 22:02:30