为jQuery-easyui的tab组件添加右键菜单功能
jQuery中的easyui插件包的tab标签组件,挺不错的,下面介绍如何为tab标签组件添加右键功能,效果图如下:
加入了右击TAB选项卡时显示关闭的上下文菜单
具体实现代码:
右键菜单 HTML:
?Code?[http://www.xueit.com]<div id="mm" class="easyui-menu" style="width:150px;"> <div id="mm-tabclose">关闭</div> <div id="mm-tabcloseall">全部关闭</div> <div id="mm-tabcloseother">除此之外全部关闭</div> <div class="menu-sep"></div> <div id="mm-tabcloseright">当前页右侧全部关闭</div> <div id="mm-tabcloseleft">当前页左侧全部关闭</div> </div>
下面是js代码:
?Code?[http://www.xueit.com]$(function(){tabClose(); tabCloseEven();})function tabClose(){ /*双击关闭TAB选项卡*/ $(".tabs-inner").dblclick(function(){ var subtitle = $(this).children("span").text(); $('#tabs').tabs('close',subtitle); }) $(".tabs-inner").bind('contextmenu',function(e){ $('#mm').menu('show', { left: e.pageX, top: e.pageY, }); var subtitle =$(this).children("span").text(); $('#mm').data("currtab",subtitle); return false; });}//绑定右键菜单事件function tabCloseEven(){ //关闭当前 $('#mm-tabclose').click(function(){ var currtab_title = $('#mm').data("currtab"); $('#tabs').tabs('close',currtab_title); }) //全部关闭 $('#mm-tabcloseall').click(function(){ $('.tabs-inner span').each(function(i,n){ var t = $(n).text(); $('#tabs').tabs('close',t); }); }); //关闭除当前之外的TAB $('#mm-tabcloseother').click(function(){ var currtab_title = $('#mm').data("currtab"); $('.tabs-inner span').each(function(i,n){ var t = $(n).text(); if(t!=currtab_title) $('#tabs').tabs('close',t); }); }); //关闭当前右侧的TAB $('#mm-tabcloseright').click(function(){ var nextall = $('.tabs-selected').nextAll(); if(nextall.length==0){ //msgShow('系统提示','后边没有啦~~','error'); alert('后边没有啦~~'); return false; } nextall.each(function(i,n){ var t=$('a:eq(0) span',$(n)).text(); $('#tabs').tabs('close',t); }); return false; }); //关闭当前左侧的TAB $('#mm-tabcloseleft').click(function(){ var prevall = $('.tabs-selected').prevAll(); if(prevall.length==0){ alert('到头了,前边没有啦~~'); return false; } prevall.each(function(i,n){ var t=$('a:eq(0) span',$(n)).text(); $('#tabs').tabs('close',t); }); return false; });}