tabPanel动态添加删除tab页的问题和解决办法

tabpanel上的tab是随着操作动态添加的,每次添加前都会删除原来的tab

js片段调用如下:

1 删除原来的tab
tabPanel.removeAll();

2 添加新的tab,每个tab都绑定了一个事件
tabPanel.add({
id: tabItems[i].id,
title: tabItems[i].title,
url : tabItems[i].url,
listeners: {activate: handleActivate}
});

问题是,当选中的tab页不是第一个的时候,每次动态添加新的tab页,
在调用tabPanel.removeAll();都会触发第一个tab页面的handleActivate事件,这个性能白白消耗。


解决方法:在每次删除tab页的时候去掉第一个tab页的绑定事件
var fistpanel = tabPanel.items.get(0);
if (fistpanel){
fistpanel.removeListener("activate",handleActivate);
}

tabPanel.removeAll();


-----------------
问题是解决了,但是原因我还是不清楚,不知道哪位高手可以解释下的。

你可能感兴趣的:(我的java)