Sencha Touch:点击面具事件

时间:2015-08-19 10:11:08

标签: javascript extjs sencha-touch-2 loadmask

您好我无法解决此问题,如果视口被屏蔽,甚至无法找到任何方法来查找屏幕上的点按。  我正在使用菜单进行幻灯片导航,当菜单打开时,我现在在视图上应用蒙版,如果我点击蒙版视图,菜单应该关闭。我无法在面具上获得点击事件。有什么办法吗?

  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',


    });
}

2 个答案:

答案 0 :(得分:0)

Ext.Viewport.setMenu(this.createMenu(),{

            side: 'left',
            reveal: false,


        });

这可能会帮助您屏蔽视口。 并点击它将关闭菜单

答案 1 :(得分:0)

在主控制器中添加此项以侦听蒙版上的点击事件

control:{
    'mask': {
        tap: function(){
            if( !Ext.Viewport.getMenus().left.isHidden() ){
                alert('Mask - Tap Event - hideMenu');
            }
        }
    }
}