7

ESCボタンを使用してウィンドウが閉じないようにするという1つの問題に1つの問題があります。

キーボードから ESC ボタンをクリックするとすぐにウィンドウが閉じます。ウィンドウを閉じるのではなく、[はい] または [キャンセル] ボタンを 2 つ押して「本当に閉じたい」というメッセージ ボックスが表示されるようにする必要があります。

人が [はい] ボタンをクリックすると、ウィンドウは破棄され、それ以外の場合はウィンドウがそのままになります。

しかし、ESCを押すとウィンドウが近づいている理由がわかりません。

ユーザーが以下のコードを使用して esc ボタンをクリックすると、メッセージが表示されます

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

今、私はメッセージボックスが表示され、人の答えに基づいて起こることを望んでいます。何か助けて??

4

2 に答える 2

10

の configには非常に便利な onEsc関数があります。window次のように使用します。

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

これがライブの例です。

于 2012-03-04T08:19:37.857 に答える
3

beforecloseイベントを使用してみてください。

于 2012-03-04T10:06:52.350 に答える