我最近开始在一个项目中使用 Sencha Touch,虽然我使用 ExtJS 有一段时间了,但两者在很多方面都不同。为了使学习曲线复杂化,我将 ST 应用为更多的底层框架,而不是整个 UI/框架/做所有事情。因此,我遇到了一种情况,我想使用数组方法为元素设置侦听器,同时还想保持对诸如“绘制”之类的事件的使用。
这是一个例子 - 我 99% 的肯定有一个更好的方法来做我想做的事情:
Ext.create('Ext.Container', {
html: '<ul><li id="blah">Blah</li><li id="hooey">Hooey</li></ul>',
listeners: [{
element: 'element',
delegate: 'li#blah',
event: 'tap',
fn: function() { /* do something for blah */ }
},{
/* repeat for hooey, etc */
}]
});
另一方面,如果我想要容器上的标准监听器怎么办?
Ext.create('Ext.Container', {
listeners: {
activate: function() {
// do some stuff here
}
}
});
我想知道在同一个组件上执行这些操作的最佳实践,而不是说必须执行激活侦听器,然后将元素点击事件处理程序应用于激活/显示/绘制/whathaveyou 上的组件。
注意:使用 extjs 进行标记,因为我认为它也适用于那里 - 如果没有,请随时编辑或让我知道,我会拉标签。