как предотвратить закрытие окна на ESC extjs 4 - PullRequest
7 голосов
/ 04 марта 2012

Я застрял с одной проблемой с одной проблемой в остановке закрытия окна с помощью кнопки ESC.

Окно закрывается, как только я нажимаю кнопку ESC на клавиатуре. Я хочу, чтобы окно не закрывалось, вместо этого должно появиться сообщение с вопросом «ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ закрыть» с двумя кнопками «да» или «отмена»

Если человек нажимает кнопку «Да», окно должно разрушиться, а в противном случае оно должно быть таким, как есть.

но не знаю, почему окно закрывается при нажатии ESC.

Я получаю сообщение, когда пользователь нажимает кнопку esc, используя код ниже

listeners: {
        show : function(win) {
          Ext.create('Ext.util.KeyNav', win.getEl(), {
            "esc" : function(e){
              alert('hi.. closing');
              win.hide();
            },
            scope: win
          });
        }
      }

Теперь я хочу, чтобы появилось окно сообщения, основанное на ответе человека, который должен был произойти. любая помощь ??

Ответы [ 2 ]

10 голосов
/ 04 марта 2012

В настройках window есть очень удобная функция onEsc .Используйте это следующим образом:

onEsc: function() {
    var me = this;
    Ext.Msg.confirm(
        'Closing confirmation',
        'YOU REALLY WANTS TO close',
        function(btn) {
            if (btn === 'yes')
                me.hide();
        }
     );
},

Вот живой пример .

3 голосов
/ 04 марта 2012

Попробуйте использовать событие beforeclose .

...