2013-02-28 52 views
0

好的,所以在這裏花了一些時間,希望我找到的解決方案很有用。儘管如此,我希望更多人能夠做到這一點,而且有人可以指出。獲取委託點擊事件的來源

我想弄清楚如何從一個傳送帶中的項目中獲取委託的tap事件的源代碼,而不是使用Sencha Touch 2中的內置可通過參數的列表或其他類似結構;事件的範圍默認情況下是具有偵聽器的容器。所有通過函數傳遞的參數都與鼠標點擊事件相關,而不是源代碼。請參閱下面的解決方案。

回答

0

就像我說的,這是一個拙劣的解決方案,如果有更好的東西會很棒,請在這裏發佈。無論如何,這是我用過的委託監聽器代碼:

{ 
    element: 'element', 
    delegate: '.completed_button', 
    event:  'tap', 
    fn: function(element){ 
     var source_id = element.getTarget().id; 
     Ext.getCmp(source_id); 
    } 
} 

換句話說,通過點擊事件的說法,得到它的目標,並獲得該目標的ID。我通過窺探console.log(element)向我展示了什麼。

2

另一種方式

tap: function(list, index, target, record, e, eOpts){ 
    var elm = Ext.get(e.target); 
    Ext.getCmp(elm.dom.id); 
} 
+0

不錯!這裏的背景是什麼?我猜這是在Ext.getCmp('item')。on({})操作上? – 2013-02-28 06:06:47

+0

是的,控制它的更多信息 – 1Mayur 2013-02-28 06:17:09

+0

你甚至可以通過elm.dom.className等獲取元素類名和其他html屬性 – 1Mayur 2013-02-28 06:17:55