Обработчики для сенсорного нажатия Sencha на панель с закрепленной панелью инструментов

#sencha-touch #javascript-framework

#сенсорное касание sencha #javascript-фреймворк

Вопрос:

Я работаю над добавлением Ext.Panel с закрепленной нижней панелью инструментов, которая содержит кнопку и имеет два разных обработчика для нажатия на корпус панели и кнопки на панели инструментов. После настройки (см. Код ниже) кажется, что один обработчик обрабатывает каждое нажатие на панели и панели инструментов. Вот код, который у меня есть прямо сейчас:

 var infoButton = new Ext.Button({
  ui: 'round-small',
  border: 0,
  iconCls: 'info',
  style: "background: transparent;",
  iconMask: true,
  handler: handlerTapInfo
});

var infoToolbar = new Ext.Toolbar({
  border: 0,
  ui: config.ui || 'light',
  dock: 'bottom',
  style: 'background: transparent;',
  items: [{xtype: 'spacer'}, infoButton]
}); 

var pic1Panel = new Ext.Panel({
    id: '1',
    flex: 1,
    listeners:{
        afterrender: function(c){
            c.el.on('click', function(){
                 handlerTapOnPanel();
           });
        }
    },
    dockedItems: [infoToolbar]
 });
  

Комментарии:

1. Чего именно вы хотите? Для нижней панели вкладок проверьте пример Kichen Sink демонстраций Sencha Touch. В чем проблема с нажатием на панель?

Ответ №1:

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

Если нет, то вы можете остановить распространение события с помощью e.stopEvent или вернуть false (по крайней мере, в Sencha Touch 2.0), но вам нужно проверить порядок, в котором регистрируются события (панель, я думаю, должна быть последней)