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

时间:2011-05-09 04:16:52

标签: extjs resize scroll

我有一个带有“autoscroll:true”配置的面板,它包含可折叠的字段集。我有一个图表,将根据此面板以及其组件的更改重新绘制。

我想做的是捕获所有这些“更改”事件,以便根据面板组件的位置正确设置图形。

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

1)面板滚动

    在这里如何触发面板滚动结束的“afterscorll”事件?我用过:Ext.getCmp(“XX”)。body.on(afterScroll',function(){});但不起作用。

2)fieldset expand / collapse

而且我想知道是否有统一的事件来捕获这些更改,无论是滚动还是从此面板中的字段集展开/整理?然后我只需要调用一次。

1 个答案:

答案 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 ...
      }
   }
};