将多个函数添加到ExtJS gridPanel按钮的处理程序

时间:2014-02-13 16:20:29

标签: javascript extjs

我有一个ExtJS gridPanel,其中包含一个触发全局函数的按钮:

grid = Ext.create('Ext.grid.Panel', {
...
    tbar: [
        {
            xtype: 'button',
            text: 'Group',
            handler: group // call to global function
        }
    ]
...
});

在调用group函数后,我需要调用另一个全局函数,例如renameGroups;如何在处理程序中放置此函数或任何其他函数?

2 个答案:

答案 0 :(得分:1)

我们在JavaScript中做的通常是定义我们自己的函数调用所有其他函数,所以在你的例子中:

grid = Ext.create('Ext.grid.Panel', {
...
tbar: [
    {
        xtype: 'button',
        text: 'Group',
        // will call the function when clicked, which will then call the others
        handler: function(e) {
            group(e); 
            renameGroups(e);
        }
    }
]
...
});

答案 1 :(得分:0)

有几种不同的选择。

  1. 您可以侦听来自其他组件的点击,而不是使用处理程序。例如:

    grid.down('[text = Group]')。on('click',function(){});

  2. 您可以在网格中放置一个函数,并直接从处理程序中调用它:

    button.up( '网格')renameGroups();