ext中引用ux_16. Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例

转自:https://crabdave.iteye.com/blog/327978

Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例

效果:

dd3cf422919bfd6a7341b5de5401f5d8.png

创建调用的HTML:

Ext.onReady(function(){

new Ext.TabPanel({

renderTo : document.body,

region:'fit',

deferredRender:false,

activeTab:0,

resizeTabs:true, // turn on tab resizing

minTabWidth: 115,

tabWidth:135,

enableTabScroll:true,

items:[{title:"title1",id:'tab1',closable:true},{title:"title2",id:'tab2',closable:true},{title:"title3",id:'tab3',closable:true}],

plugins: new Ext.ux.TabCloseMenu()

});

});

Ext.ux.TabCloseMenu文件源码:

/*

* Ext JS Library 2.2

* Copyright(c) 2006-2008, Ext JS, LLC.

* licensing@extjs.com

*

* http://extjs.com/license

*/

// Very simple plugin for adding a close context menu to tabs

Ext.ux.TabCloseMenu = function(){

var tabs, menu, ctxItem;

this.init = function(tp){

tabs = tp;

tabs.on('contextmenu', onContextMenu);

}

function onContextMenu(ts, item, e){

if(!menu){ // create context menu on first right click

menu = new Ext.menu.Menu([{

id: tabs.id + '-close',

text: '关闭标签',

handler : function(){

tabs.remove(ctxItem);

}

},{

id: tabs.id + '-close-others',

text: '关闭其他标签',

handler : function(){

tabs.items.each(function(item){

if(item.closable && item != ctxItem){

tabs.remove(item);

}

});

}

},{

id: tabs.id + '-close-all',

text: '关闭全部标签',

handler : function(){

tabs.items.each(function(item){

if(item.closable){

tabs.remove(item);

}

});

}

}]);

}

ctxItem = item;

var items = menu.items;

items.get(tabs.id + '-close').setDisabled(!item.closable);

var disableOthers = true;

tabs.items.each(function(){

if(this != item && this.closable){

disableOthers = false;

return false;

}

});

items.get(tabs.id + '-close-others').setDisabled(disableOthers);

var disableAll = true;

tabs.items.each(function(){

if(this.closable){

disableAll = false;

return false;

}

});

items.get(tabs.id + '-close-all').setDisabled(disableAll);

menu.showAt(e.getPoint());

}

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值