单击触发器时 extjs twinText 焦点

extjs twinText focus when click on trigger

我有一个 TextFiled 组件,其中添加了清除触发器。像这个:

 this.config.triggers = {
        clear: {
            cls : (Ext.baseCSSPrefix + 'form-clear-trigger'),
            handler : function() {
                this.setValue();                 
            }
        }

    }

... 所以,我处理一个事件 focus

 this.text= Ext.create('TwinText', {
        width: 400,
        emptyText: 'dddd',
        listeners: {
            scope: this,
            focus:  this.show,             
        },
        editable : false
    });

现在,当我点击 trigger clean 时,焦点事件被触发。我怎样才能暂停它?

您可以将点击事件添加到您的 Textfield 组件,而不是使用焦点。

例如。在 TwinText 定义中添加:

initEvents: function () {
    this.callParent(arguments);
    this.mon(this.inputEl, 'click', this.onClick, this);
},

onClick: function (e) {
    this.fireEvent('click', this, e);
}

然后监听 "click" 事件而不是 "focus"。