0

我想知道是否有人可以告诉我为什么下面的代码不起作用。前 2 个 on 函数正在工作,然后最后一个 on 函数不工作,我收到错误消息“无法调用未定义的 on 方法”。

好像不喜欢这一行,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);       
        });
    }})
4

1 回答 1

1

这意味着您的rateSummary组件在执行此函数时未呈现。因此,使用您报告的错误消息getEl()返回undefined并调用崩溃方法...undefined

这个组件到底是什么?你不能直接在组件上注册监听器,而不是它的元素吗?像这样:

textF.on('click', function() {
    // ...
});

否则,这样做,Ext 将负责等待渲染:

textF.on({
    el: {
        // ...
    }
});
于 2013-09-18T13:52:33.757 回答