当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 为EasyUI的Tab标签添加右键菜单的方法

为EasyUI的Tab标签添加右键菜单的方法

2018年11月25日  | 移动技术网IT编程  | 我要评论
前期的准备工作: 1、下载demo,并升级为最新版本(jquery 1.7.2,easyui 1.2.6),直接替换就可以啦,升级easyui 是的要把css js theme 全部替换 2、在首页

前期的准备工作:
1、下载demo,并升级为最新版本(jquery 1.7.2,easyui 1.2.6),直接替换就可以啦,升级easyui 是的要把css js theme 全部替换
2、在首页的html代码中:将

代码如下:


<p id="mm" class="easyui-menu" style="width:150px;">
<p id="mm-tabupdate">刷新</p>
<p class="menu-sep"></p>
<p id="mm-tabclose">关闭</p>
<p id="mm-tabcloseall">全部关闭</p>
<p id="mm-tabclother">除此之外全部关闭</p>
<p class="menu-sep"></p>
<p id="mm-tabcloseright">当前页右侧全部关闭</p>
<p id="mm-tabcloseleft">当前页左侧全部关闭</p>
<p class="menu-sep"></p>
<p id="mm-exit">退出</p>
</p>


改为:

. 代码如下:


<p id="mm" class="easyui-menu" style="width:150px;">
<p id="refresh">刷新</p>
<p class="menu-sep"></p>
<p id="close">关闭</p>
<p id="closeall">全部关闭</p>
<p id="closeother">除此之外全部关闭</p>
<p class="menu-sep"></p>
<p id="closeright">当前页右侧全部关闭</p>
<p id="closeleft">当前页左侧全部关闭</p>
<p class="menu-sep"></p>
<p id="exit">退出</p>
</p>


outlook2.js 中添加新方法如下:

. 代码如下:


function closetab(action)
{
var alltabs = $('#tabs').tabs('tabs');
var currenttab =$('#tabs').tabs('getselected');
var alltabtitle = [];
$.each(alltabs,function(i,n){
alltabtitle.push($(n).panel('options').title);
})
switch (action) {
case "refresh":
var iframe = $(currenttab.panel('options').content);
var src = iframe.attr('src');
$('#tabs').tabs('update', {
tab: currenttab,
options: {
content: createframe(src)
}
})
break;
case "close":
var currtab_title = currenttab.panel('options').title;
$('#tabs').tabs('close', currtab_title);
break;
case "closeall":
$.each(alltabtitle, function (i, n) {
if (n != onlyopentitle){
$('#tabs').tabs('close', n);
}
});
break;
case "closeother":
var currtab_title = currenttab.panel('options').title;
$.each(alltabtitle, function (i, n) {
if (n != currtab_title && n != onlyopentitle)
{
$('#tabs').tabs('close', n);
}
});
break;
case "closeright":
var tabindex = $('#tabs').tabs('gettabindex', currenttab);
if (tabindex == alltabs.length - 1){
alert('亲,后边没有啦 ^@^!!');
return false;
}
$.each(alltabtitle, function (i, n) {
if (i > tabindex) {
if (n != onlyopentitle){
$('#tabs').tabs('close', n);
}
}
});
break;
case "closeleft":
var tabindex = $('#tabs').tabs('gettabindex', currenttab);
if (tabindex == 1) {
alert('亲,前边那个上头有人,咱惹不起哦。 ^@^!!');
return false;
}
$.each(alltabtitle, function (i, n) {
if (i < tabindex) {
if (n != onlyopentitle){
$('#tabs').tabs('close', n);
}
}
});
break;
case "exit":
$('#closemenu').menu('hide');
break;
}
}


将js中tabcloseeven 方法 改为

. 代码如下:


function tabcloseeven() {
$('#mm').menu({
onclick: function (item) {
closetab(item.id);
}
});
return false;
}


这样就ok啦,代码比原来优雅多啦!
调用刷新,关闭当前标签时,就调用 closetab(‘action') //action 可以为 refresh(刷新),close(关闭)
iframe 中使用时,要这么屎 top.closetab('action')。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网