如何在 tabpanel 中为 ExtJS 选项卡添加点击事件

How to add click event for ExtJS tab in tabpanel

我有标签面板,默认情况下所有标签都处于禁用状态。根据条件,某些选项卡将被启用,我已经完成了那部分。现在我想为选项卡添加点击事件,我尝试使用 tabchange 但问题是当我在运行时启用选项卡时 tabchange 事件被触发但我希望它在用户单击选项卡时触发。

var empTabPanel= new Ext.tab.Panel({
        id: 'emptabpanel',
        width: '100%',
        xtype: 'container',
        layout: 'hbox',
        items: [{
                title: 'Personal Details',
                border: 0,
                id: 'PERSONAL_DETAILS'
            },{
                title: 'Department Details',
                border: 0,
                id: 'DEP_DETAILS'
            },{
                title: 'Leave Details',
                border: 0,
                id: 'LEAVE_DETAILS'
            }]
    });

您可以添加默认侦听器

    var empTabPanel= new Ext.tab.Panel({
          ...
         defaults: {
              handler: function(item){
                ...
                if(item is tab1){
                   // active/inactive
                }
                else if(){}...
              }
            },
            items: [{
                    title: 'Personal Details',
                    border: 0,
                    id: 'PERSONAL_DETAILS'
                },{
                    title: 'Department Details',
                    border: 0,
                    id: 'DEP_DETAILS'
                },{
                    title: 'Leave Details',
                    border: 0,
                    id: 'LEAVE_DETAILS'
                }]
                
           });

我已经在评论中写了,但大多数人看不到评论,这就是我在 post 中写这篇文章的原因。

尝试在 运行 时使用 suspendEvent 函数。当您的操作完成时,使用 resumeEvent 函数。

如何使用上面的功能?

tabPanel.suspendEvent ( eventName ) 
tabPanel.resumeEvent ( eventName )

--> 别忘了 resumeEvent

谢谢..:)