我有一个带有“autoscroll:true”配置的面板,它包含可折叠的字段集。我有一个图表,将根据此面板以及其组件的更改重新绘制。
我想做的是捕获所有这些“更改”事件,以便根据面板组件的位置正确设置图形。
我认为我需要捕捉两种类型的事件:
1)面板滚动
在这里如何触发面板滚动结束的“afterscorll”事件?我用过:Ext.getCmp(“XX”)。body.on(afterScroll',function(){});但不起作用。
2)fieldset expand / collapse
而且我想知道是否有统一的事件来捕获这些更改,无论是滚动还是从此面板中的字段集展开/整理?然后我只需要调用一次。
答案 0 :(得分:1)
我不知道我是否把你弄对了;您可以将事件冒泡到父级。我正在做很多情况,例如在表格的字段上更改事件。
修改强> 这是一个简单的例子。只是输入和未经测试。但它会告诉你这个伎俩。
MappingDialog = function(){
return {
init : function(){
dialog = new Ext.Window({
width: 200,
height: 150,
modal: true,
closable: false,
bubbleEvents: ['saveMapping'], // <- Array with events
buttons: [{
text:'Save',
handler:function(){ this.fireEvent('saveMapping'); }
}],
listeners: {
saveMapping : function() { // should not be called }
}
});
this.addListener('saveMapping', this.saveData, this); // <- Attaching event to Parent (or hand through)
},
saveData : function(){ // <- implement eventhandling
... Save the data ...
}
}
};