以编程方式关闭ExtJS标签的正确方法是什么?
我需要在IE6中完成这项工作;虽然删除来自TabPanel的选项卡,但我看到IE警告:此页面包含安全和不安全的项目 ...当我单击选项卡上的X时,我没有看到这个警告。所以,当我点击X时,显然会发生一些聪明的事情。
注意:当我使用tabPanel.remove(aTab,true)时会出现警告,当我使用tabPanel.remove(aTab,false)时不会发生警告。因此,在删除和面板的后续销毁期间会显示混合内容警告。
模拟标签上的点击是否有意义?
修改
答案 0 :(得分:7)
您是直接删除标签的元素,还是从容器中删除标签组件? E.g:
Ext.fly('tab-id').remove(); // Element API
VS
myTabPanel.remove('tab-id'); // Panel API
两者都应该在对标签标记进行核对方面工作正常,但是直接删除元素可能会产生不良后果。如果你正在做后者(正确),那么我不确定问题是什么。我自己没有IE 6。
答案 1 :(得分:0)
通过单击鼠标的中间按钮关闭选项卡。
var middleClick = $(document).mousedown(function(e) {
if(e.which == 2){
var tabPanel = <%= tabPanel.ClientID %>;
var activeTab = tabPanel.getActiveTab();
if (e.target.textContent == activeTab.title) {
var activeTabIndex = tabPanel.items.findIndex('id', activeTab.id);
tabPanel.remove(activeTabIndex);
}
}
return true;
});
希望它有所帮助!! =)