extjs - какое событие / метод вызывается / вызывается, когда кнопка теряет фокус? - PullRequest
1 голос
/ 11 марта 2011

Я хочу знать, какое событие / метод вызывается / вызывается, когда кнопка теряет фокус / размывает в extjs.

У меня есть кнопка с меню.Когда я щелкаю в любом месте, кроме кнопки или пунктов меню, меню закрывается.Итак, я хочу знать, что вызывает метод menu.hide () для скрытия меню.

Кто-нибудь имеет какое-либо представление об этом?Я попробовал onBlur для кнопки, но она не срабатывает.

Ответы [ 3 ]

0 голосов
/ 11 марта 2011

ExtJS Button имеет событие с именем menuhide для этой конкретной цели.Он запускается, когда меню, прикрепленное к кнопке (если оно есть) скрыто.Событие вызывается с аргументами (Button this, Menu menu).

Для получения более подробной информации см. Документация по ExtJS API - события кнопок menushow, menutriggerout, menutriggerover и mouseout также могут бытьоказаться полезным.

0 голосов
/ 16 июня 2011

Благодаря @mankz. Просто переопределите onMouseDown() функцию в Ext.menu.MenuMgr. Хотя для этого мне пришлось переопределить Ext.menu.MenuMgr.

0 голосов
/ 11 марта 2011
/**
     * Try to focus this component.
     * @param {Boolean} selectText (optional) If applicable, true to also select the text in this component
     * @param {Boolean/Number} delay (optional) Delay the focus this number of milliseconds (true for 10 milliseconds)
     * @return {Ext.Component} this
     */
    focus : function(selectText, delay){
        if(delay){
            this.focusTask = new Ext.util.DelayedTask(this.focus, this, [selectText, false]);
            this.focusTask.delay(Ext.isNumber(delay) ? delay : 10);
            return this;
        }
        if(this.rendered && !this.isDestroyed){
            this.el.focus();
            if(selectText === true){
                this.el.dom.select();
            }
        }
        return this;
    },

    // private
    blur : function(){
        if(this.rendered){
            this.el.blur();
        }
        return this;
    },

Интересно.Очевидно, что ExtJS не вызывает никаких событий, когда Component получает фокус, или когда он теряет его.Вероятно, это заслуживает переопределения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...