为EasyUI的Tab标签添加右键菜单的方法_Javascript教程-查字典教程网
为EasyUI的Tab标签添加右键菜单的方法
为EasyUI的Tab标签添加右键菜单的方法
发布时间:2016-12-30 来源:查字典编辑
摘要:前期的准备工作:1、下载DEMO源码,并升级为最新版本(jquery1.7.2,Easyui1.2.6),直接替换就可以啦,升级easyui...

前期的准备工作:

1、下载DEMO源码,并升级为最新版本(jquery 1.7.2,Easyui 1.2.6),直接替换就可以啦,升级easyui 是的要把css js theme 全部替换

2、在首页的HTML代码中:将

复制代码 代码如下:

<div id="mm">

<div id="mm-tabupdate">刷新</div>

<div></div>

<div id="mm-tabclose">关闭</div>

<div id="mm-tabcloseall">全部关闭</div>

<div id="mm-tabcloseother">除此之外全部关闭</div>

<div></div>

<div id="mm-tabcloseright">当前页右侧全部关闭</div>

<div id="mm-tabcloseleft">当前页左侧全部关闭</div>

<div></div>

<div id="mm-exit">退出</div>

</div>

改为:

复制代码 代码如下:

<div id="mm">

<div id="refresh">刷新</div>

<div></div>

<div id="close">关闭</div>

<div id="closeall">全部关闭</div>

<div id="closeother">除此之外全部关闭</div>

<div></div>

<div id="closeright">当前页右侧全部关闭</div>

<div id="closeleft">当前页左侧全部关闭</div>

<div></div>

<div id="exit">退出</div>

</div>

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');

点此下载最新的Easyui应用实例

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类