我想创建带有停靠的底部工具栏的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]
});
答案 0 :(得分:0)
如果将所有面板的项放在容器中,并在该容器上添加监听器,则可能会解决问题。
如果没有,那么您可以使用e.stopEvent停止事件的传播或返回false(至少在Sencha Touch 2.0中),但您需要验证事件的注册顺序(面板应该是最后我想)