我试图添加一些代码,只要用户单击Sencha触摸面板中的某个单选按钮选项时就会调用该代码。我通过在面板主体上添加一个点击侦听器并检查目标并确保它是一个单选按钮(具有值)来工作。在Sencha Touch中处理单选按钮上的事件
我确定有一个更好的方法来绑定这个处理程序。我看过一些关于听众的教程,并从我的理解中“我做错了”。但是我可以在哪里找到有关正确的信息?下面是我在做什么,它适用于使用煎茶触摸1.1.0一个精简版(这是应用程序的JavaScript文件):
Ext.setup({
onReady: function() {
panel = new Ext.Panel({
fullscreen: true,
title: 'Test',
scroll: 'vertical',
items: [{
xtype: 'fieldset',
defaults: {
xtype: 'radiofield',
labelWidth: '80%',
name: 'opt',
},
items: [{label: 'first', value: 1}, {label: 'second', value: 2}]
}],
});
panel.addListener({
body: {
click: function(ctl) {
if (ctl && ctl.target && ctl.target.value) {
console.log('checked control ' + ctl.target.value);
}
}
}
});
}
});
我假设我应该做的是绑定到字段集而不是正文,并且可能会听取更改事件而不是单击事件。但除此之外,我尝试过的所有表单似乎都不起作用。
感谢@nicodemuz,但我只能得到直接增加了无线电管制时工作。当我将侦听器添加到整个字段集或面板时,它不会触发。我认为侦听器系统的全部目的是在不同的级别进行绑定,以便新添加的控件可以自动获得现有的处理程序。而那些未处理的事件会泡起来,直到他们击中了处理程序。但是,似乎并不是这样。任何其他方法来尝试这个想法?我不知道如何调试这样的事件。 – mikerowehl 2011-04-27 03:06:40