keyup 事件未在文本字段的 setValue() 上触发

Dev*_*Dev 5 extjs extjs4

我正在使用两个 tabpanels(例如T1T2)。它们是T2中的两个文本字段和提交按钮,如图所示:

xtype: 'form',
title: 'Search',
id:'searchref',                          
items: [
    {
        xtype: 'textfield',
        fieldLabel: 'reference1',
        id:'reference1',     
        enableKeyEvents:true,
        listeners:{
            keyup:function(){
                Ext.getCmp('Submit').enable();
                Ext.getCmp('reference2').disable();
                if(Ext.getCmp('reference1').getValue() == "" )
                {
                    Ext.getCmp('Submit').disable();
                    Ext.getCmp('reference2').enable();
                }                                                       
            }
        }
     },
     {
            xtype: 'textfield',
            fieldLabel: 'reference2',
            id:'reference2',     
            enableKeyEvents:true,
            listeners:{
                keyup:function(){
                    Ext.getCmp('Submit').enable();
                    Ext.getCmp('reference1').disable();
                    if(Ext.getCmp('reference2').getValue() == "" )
                    {
                        Ext.getCmp('Submit').disable();
                        Ext.getCmp('reference1').enable();
                    }                                                       
                }
            }
      },

    {
        xtype: 'button',
        text: 'Submit',
        disabled:true,  
        id:'Submit',                            
    }   
]
Run Code Online (Sandbox Code Playgroud)

在我的T1 中,我正在尝试按如下所示执行:

Ext.getCmp('tabpanel').setActiveTab(1);
Ext.getCmp('reference1').setValue(RefNo);
Run Code Online (Sandbox Code Playgroud)

我的问题:

T1设置文本字段的值时不会触发 keyup 事件侦听器

请帮我解决这个问题。
任何帮助表示赞赏。谢谢。