2015-08-19 3 views
0

Привет, я не могу решить эту проблему и не смог найти какой-либо способ найти нажатие даже на маске, если окно просмотра замаскировано. Я использую меню для навигации по слайду, когда меню открыто. Я применяю маску в представлении теперь, если я нажимаю на скрытый вид, меню должно закрываться. Я не могу получить событие нажатия на маске. Есть ли способ?Sencha Touch: нажатие на событие маски

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


    }); 
} 
+0

Вы можете использовать конфигурацию 'masked' для [контейнеры] (http://docs.sencha.com/touch/2.3.1/#!/api/Ext.Container-cfg-masked), и в его конфигурации установите слушателей, которые вы хотите с помощью [LoadMask] (http://docs.sencha.com/touch/2.3.1/#!/api/Ext.LoadMask-cfg-listeners) – qmateub

ответ

0

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

  side: 'left', 
      reveal: false, 


     }); 

Это может помочь вам замаскировать Viewport. и нажав на нее будет закрыть меню

0

надстройку это в главном контроллере для прослушивания события крана на маске

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