extjs:响应面板容器及其组件的所有更改的事件

extjs:响应面板容器及其组件的所有更改的事件,extjs,resize,scroll,Extjs,Resize,Scroll,我有一个配置为“autoscroll:true”的面板,其中包含可折叠的字段集。我有一个图表,它将根据这个面板和它的组件的变化重新绘制 我想做的是根据面板组件的位置正确设置图形,从而控制所有这些“更改”事件 我认为我需要捕获两种类型的事件: 1) 面板滚动 在这里,如何在面板滚动结束时触发“Aftercorll”事件?我使用了:Ext.getCmp(“XX”).body.on(余弦',function(){});但是不起作用 2) 字段集展开/折叠 我还想知道是否有一个统一的事件来捕获这些更改,

我有一个配置为“autoscroll:true”的面板,其中包含可折叠的字段集。我有一个图表,它将根据这个面板和它的组件的变化重新绘制

我想做的是根据面板组件的位置正确设置图形,从而控制所有这些“更改”事件

我认为我需要捕获两种类型的事件:

1) 面板滚动

在这里,如何在面板滚动结束时触发“Aftercorll”事件?我使用了:Ext.getCmp(“XX”).body.on(余弦',function(){});但是不起作用

2) 字段集展开/折叠


我还想知道是否有一个统一的事件来捕获这些更改,无论是从滚动还是从这个面板中的字段集展开/折叠?那我就只需要打一次电话了。

我不知道你说的对不对;您可以将事件冒泡到父级。我在很多情况下都会这样做,比如表单字段上的更改事件

编辑: 这是一个简单的例子。只是打字,未经测试。但它会告诉你诀窍

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 ...
      }
   }
};
MappingDialog=function(){
返回{
init:function(){
对话框=新的外部窗口({
宽度:200,
身高:150,
莫代尔:是的,
可关闭:错误,
bubbleEvents:['saveMapping']//