我試圖添加一些代碼,只要用戶單擊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