我想知道是否有人可以告诉我为什么以下代码无效。函数中的前2个函数正在工作,然后函数的最后一个函数不起作用,我收到错误消息“无法调用未定义的方法。”
似乎不喜欢这一行,textF.getEl()。on('click',function(){
bUpdateSwitch.on({'click': function (){
var textF = Ext.getCmp('rateSummary');
textF.enable();
textF.getEl().on('click', function() {
Ext.getCmp('rtCurrency').enable();
Ext.getCmp('rtCurrency').setReadOnly(false);
Ext.getCmp('rtAccEffDate').enable();
Ext.getCmp('rtAccEffDate').setReadOnly(false);
Ext.getCmp('rtAccExDate').enable();
Ext.getCmp('rtAccExDate').setReadOnly(false);
Ext.getCmp('rtJctR260').enable();
Ext.getCmp('rtJctR260').setReadOnly(false);
Ext.getCmp('switchRate').enable();
Ext.getCmp('switchRate').setReadOnly(false);
});
}})
答案 0 :(得分:1)
这意味着在执行此函数时不会呈现您的rateSummary
组件。因此,getEl()
会返回undefined
,并且undefined
上的方法会因您报告的错误消息而崩溃...
这个组件究竟是什么?你不能直接在组件上注册监听器而不是它的元素吗?像这样:
textF.on('click', function() {
// ...
});
否则,这样做,Ext将负责等待渲染:
textF.on({
el: {
// ...
}
});