extjs:如何以原始对象形式向组件添加事件处理程序(xtype)

时间:2010-03-03 15:10:09

标签: javascript html extjs ria

我的原始对象类型中有一个extjs组件,例如:

var x = {
   xtype: 'button', 
   text: 'Delete', 
   handler: whatever, 
   more:config, 
   more2: config2};

现在我想为x添加一些监听器。在我的场景中,我无法在创建之前或之后访问x对象。我只想添加一个事件处理程序,它只是一个javascript对象而不会覆盖现有的处理程序。怎么办?

2 个答案:

答案 0 :(得分:8)

您可以使用侦听器配置执行此操作

{
   xtype: 'button', 
   text: 'Delete', 
   handler: whatever, 
   more:config, 
   more2: config2,
   listeners:{
      scope : this,
      event1 : function(){},
      event2 : function(){}
   }

};

答案 1 :(得分:4)

需要listeners配置:

var x = {
   xtype: 'button', 
   text: 'Delete', 
   handler: whatever, 
   more:config, 
   more2: config2,
   listeners: {
     click: function() {
       ...       
     },
     render: function() {
       ...
     }
   }
};