获取委派点击事件的来源

时间:2013-02-28 02:15:35

标签: events sencha-touch-2

好的,所以这里花了一些时间,我希望我找到的解决方案很有用。不过,我希望更多的方法可以做到这一点,有人可以指出它。

我试图找出如何从转盘中的项目获取委托点击事件的来源,而不是在Sencha Touch 2中使用内置可通行参数的列表或其他类似结构;默认情况下,事件的范围是具有侦听器的容器。通过该函数传递的所有参数都与鼠标单击事件有关,而不是与源有关。请参阅下面的解决方案。

2 个答案:

答案 0 :(得分:2)

另一种方式

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

答案 1 :(得分:0)

就像我说的,这是一个hacky解决方案,如果有更好的东西,那就太棒了,请在这里发布。无论如何,这是我使用的委托监听器代码:

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

换句话说,传递click事件参数,获取其目标,并获取该目标的id。我通过窥探console.log(element)向我展示的内容找到了这一点。