如何防止窗口关闭ESC extjs 4

时间:2012-03-04 06:37:33

标签: extjs4 extjs-mvc

我遇到一个问题,一个问题就是停止使用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 个答案:

答案 0 :(得分:10)

window的配置中有非常方便的onEsc功能。以这种方式使用它:

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

这是live example

答案 1 :(得分:3)

尝试使用beforeclose事件。