选项卡面板事件

TabPanel Events

本文关键字:事件 选项      更新时间:2023-09-26

我正在处理一个Ext Js web,它有一些TabPanels和一些选项卡,我想在每个选项卡上使用一些不同的JQuery,问题是如果我附加一些JQuery事件,它会附加到所有选项卡上,因为它们在同一HTML中,因此我想在打开一个选项卡之前解除所有JQuery事件的绑定,并为它绑定我想要的事件,在打开相应的选项卡时让事件侦听。

为了测试事件,我在tabPanel上附加了以下监听器:

listeners:{
        beforetabchange : function(){
            Ext.Msg.alert("beforetabchange");
        },
        beforeshow : function(){
            Ext.Msg.alert("beforeshow");
        },
        activate : function(){
            Ext.Msg.alert("activate");
        },
        deactivate : function(){
            Ext.Msg.alert("deactivate");
        }   
  }

所以我期待着很多弹出窗口,但唯一显示的是对应于"beforetabchange"的弹出窗口,而且它只在我第一次打开一个选项卡时执行……所以我没有得到一些东西,例如:每次打开选项卡时都应该显示"activate"弹出窗口吗?我早就预料到了。

我无法理解你想做什么,但我有下面的代码,可能会对你有所帮助。

项目:[{xtype:"tabpanel",activeTab:0,项目:[{title:"tab1",id:'divtab1',autoHeight:true,项目:[{//您的内容在这里}]}{title:"tab2",id:'divtab2',autoHeight:true,项目:[{//您的内容在这里}]}{title:"tab3",id:'divtab3',autoHeight:true,项目:[{//您的内容在这里}]}],听众:{"tabchange":函数(tabPanel,tab){if(tab.id="divtab1"){函数1();}否则if(tab.id="divtab2"){函数2();}其他的{函数3();}}}}]