【发布时间】:2012-07-24 16:08:16
【问题描述】:
我最近开始在一个项目中使用 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 标记它也适用于那里 - 如果没有,请随时编辑或让我知道,我会拉标签。
【问题讨论】:
-
很难理解你到底想问什么。您是否对设置 DOM 事件侦听器和组件事件侦听器感到困惑?如果您提供具体示例会有所帮助...
-
嗯,我很好奇,如果可能的话,如何在同一个配置中设置元素和组件侦听器。此外,我还没有在 API 文档中看到关于元素事件侦听器的任何好的文档(尽管我可能已经错过了它)。我知道的元素侦听器的唯一方法是我的第一个示例中介绍的方法。
-
看我的回答。你问的是这个吗?
标签: javascript extjs sencha-touch