简体   繁体   English

Sencha Touch:点击蒙版事件

[英]Sencha Touch : Tapping on mask event

Hi I am unable to solve this issue and could not find any way to find the tap even on the mask if the viewport is masked. 嗨,我无法解决此问题,并且即使对视口进行了遮罩,也无法在遮罩上找到任何找到水龙头的方法。 I am using menu for slide navigation , when the menu is open I am applying mask on the view now if I tap on the masked view the menu should close. 我正在使用菜单进行幻灯片导航,当菜单打开时,如果我在蒙版视图上点击菜单,则我现在应该在视图上应用蒙版。 I am unable to get the tap event on the mask.Is there any way? 我无法在面罩上获得轻拍事件,有什么办法吗?

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


    });
}

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

            side: 'left',
            reveal: false,


        });

This May help you to mask the Viewport. 这可以帮助您遮罩视口。 and tapping on it will close the Menu 然后点击它会关闭菜单

add this in the main controller to listen the tap event on mask 将其添加到主控制器中以侦听蒙版上的tap事件

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM