将'itemtap'事件动态触发到列表项

时间:2012-11-12 09:55:58

标签: sencha-touch sencha-touch-2 sencha-touch-2.1

使用Sencha Touch 2时,我想动态地将itemtap事件发送到列表项(Ext.List),我这样做了:

Ext.getCmp(LIST_ID).container.fireEvent('itemtap', null, null, ITEM_INDEX,
    new Event('itemtap'));

itemtap ITEM_INDEX的{​​{1}}点击LIST_ID事件。现在,当我的框架更新到sencha touch 2.1时,这种方式不再起作用了......

他们是另一种动态触发此事件的方式吗?

2 个答案:

答案 0 :(得分:0)

我使用以下语法:fireEvent('itemtap',index,node)。要获取节点对象,您应该使用getNode()getAt()

// For example, to tap the first item
// sencha 1.1
Ext.getCmp(LIST_ID).fireEvent('itemtap', 0, Ext.getCmp(LIST_ID).getNode(0)); 
// sencha 2.1
Ext.getCmp(LIST_ID).fireEvent('itemtap', 0, Ext.getCmp(LIST_ID).getAt(0)); 

此致

答案 1 :(得分:0)

一个工作的例子是

listobj.fireEvent('itemtap',listobj,indexofListInt);

一般情况下,如果您有一个事件(在st api文档中)定义为: itemtap(this,index,target,record,e,eOpts)

要发动你必须参加的活动:

obj.fireEvent('eventname',this, index, target, record, e, eOpts )
'eventname'之后的args的顺序与事件签名的api文档完全正确!

这就是所有人!