0

こんにちは、私はこの問題を解決できず、ビューポートがマスクされている場合、マスク上でもタップを見つける方法が見つかりませんでした。スライド ナビゲーションにメニューを使用しています。メニューが開いているときは、マスクされたビューをタップするとメニューが閉じます。マスクのタップ イベントを取得できません。方法はありますか?

  listeners: {
        initialize: function(){
            Ext.Viewport.setMenu(this.createMenu() ,{
                side: 'left',
                reveal: true,


            });
        }
    }
},

createMenu: function(){

    var items = [
        {
            xtype:'button',
            text:'Home',
            ui: 'mainmenu',
            icon: 'resources/icons/setting.png',
            margin: '100px 0 0 0',


                listeners: {
        tap: function(){

             if(Ext.Viewport.getMenus().left.isHidden()){
                             Ext.Viewport.showMenu('left');


                        }
                        else
                        {
                            Ext.Viewport.hideMenu('left');
                             Ext.Viewport.setActiveItem({xtype: 'main'});
                             Ext.Viewport.setMasked(false);
                        }
        }
    }
        },
        {
            xtype:'button',
            text:'Videos',
            ui: 'mainmenu',
            icon: 'resources/icons/setting.png',
            listeners: {
        tap: function(){
             Ext.Viewport.setActiveItem({xtype: 'videolist'});
             if(Ext.Viewport.getMenus().left.isHidden()){
                            Ext.Viewport.showMenu('left');

                        }
                        else
                        {
                            Ext.Viewport.hideMenu('left');
                             Ext.Viewport.setMasked(false);

                        }
          }
         }
        }
    ];

    return Ext.create('Ext.Menu', {


        width: 250,
        height:'100%',
        scrollable: false,
        items: items,
        id: 'mainmenu',


    });
}
4

2 に答える 2

0

これをメインコントローラーに追加して、マスクのタップイベントをリッスンします

control:{
    'mask': {
        tap: function(){
            if( !Ext.Viewport.getMenus().left.isHidden() ){
                alert('Mask - Tap Event - hideMenu');
            }
        }
    }
}
于 2015-09-29T15:19:51.130 に答える