2010-03-03 12 views
3

J'ai un composant ExtJS dans son type d'objet brut, par exemple:ExtJS: comment puis-je ajouter des gestionnaires d'événements à un composant sous sa forme d'objet brut (xtype)

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

Maintenant, je veux ajouter un peu d'écoute à x. Dans mon scénario, je n'ai pas accès à l'objet x avant ou juste après sa création. Je veux juste ajouter un gestionnaire d'événements quand il s'agit juste d'un objet javascript sans écraser les gestionnaires existants. Comment cela peut-il être fait?

Répondre

8

Vous pouvez utiliser les auditeurs config pour ce faire

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

};

4

Une config listeners est nécessaire:

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