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

时间:2017-09-05 10:39:36

标签: extjs extjs5

我有tabpanel,默认情况下所有选项卡都处于禁用状态。根据条件,将启用一些选项卡,我已完成该部分。现在我想为选项卡添加click事件,我尝试使用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'
            }]
    });

2 个答案:

答案 0 :(得分:2)

我已在评论中写过,但大多数人都没有看到评论,这就是我在帖子中写这篇文章的原因。

尝试在运行时使用 suspendEvent 功能。当您的操作完成时,请使用 resumeEvent 功能。

如何使用以上功能?

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

- > 别忘了恢复活动

谢谢..:)

答案 1 :(得分:0)

您可以添加默认侦听器



    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'
                }]
                
           });