EasyUI tab
1.新增tab
2.关闭tab
3.右键菜单(关闭、关闭所有、关闭其它、关闭右侧、关闭左侧) //双击关闭tab $(document).on("dblclick", ".tabs-selected", function () {
var index = $(this).index();
$("#mTabs").tabs("close", index);
});
function addTab(title, url,icon) {
if ($('#mTabs').tabs('exists', title)) {
$('#mTabs').tabs('select', title);
} else {
var content = '<iframe class="qn-iframe" src="' + url + '"></iframe>';
$('#mTabs').tabs('add', {
title: title,
iconCls: icon,
content: content,
closable: true
});
}
}
<div id="tab_rightmenu" class="easyui-menu" style="width: 120px;">
<div id="mm-tabclose" title="" data-options="name:1">关闭</div>
<div id="mm-tabcloseall" title="" data-options="name:2">全部关闭</div>
<div id="mm-tabcloseother" title="" data-options="name:3">除此之外全部关闭</div>
<div class="menu-sep"></div>
<div id="mm-tabcloseright" title="" data-options="name:4">当前页右侧全部关闭</div>
<div id="mm-tabcloseleft" title="" data-options="name:5">当前页左侧全部关闭</div>
</div>
<script>
$("#mTabs").tabs({
onContextMenu: function (e, title) {
//在每个菜单选项中添加title值
var $divMenu = $("#tab_rightmenu div[id]");
$divMenu.each(function () {
$(this).attr("id", title);
}); //显示menu菜单
$('#tab_rightmenu').menu('show', {
left: e.pageX,
top: e.pageY
});
e.preventDefault();
}
});
//实例化menu点击触发事件
$('#tab_rightmenu').menu({
"onClick": function (item) {
closeTab(item.target.id, item.target.textContent);
}
}); function closeTab(title, text) {
if (text == '关闭') {
$(".tabs li").each(function (index, obj) {
//获取所有可关闭的选项卡
var tabTitle = $(".tabs-closable", this).text();
if (tabTitle == title) {
$("#mTabs").tabs("close", tabTitle);
}
});
}
if (text == '全部关闭') {
$(".tabs li").each(function (index, obj) {
//获取所有可关闭的选项卡
var tabTitle = $(".tabs-closable", this).text();
$("#mTabs").tabs("close", tabTitle);
});
} if (text == '除此之外全部关闭') {
$(".tabs li").each(function (index, obj) {
//获取所有可关闭的选项卡
var tabTitle = $(".tabs-closable", this).text();
if (tabTitle != title) {
$("#mTabs").tabs("close", tabTitle);
}
});
} if (text == '当前页右侧全部关闭') {
var $tabs = $(".tabs li");
for (var i = $tabs.length - ; i >= ; i--) {
//获取所有可关闭的选项卡
var tabTitle = $(".tabs-closable", $tabs[i]).text();
if (tabTitle != title) {
$("#mTabs").tabs("close", tabTitle);
} else {
break;
}
}
} if (text == '当前页左侧全部关闭') {
var $tabs = $(".tabs li");
for (var i = ; i < $tabs.length; i++) {
//获取所有可关闭的选项卡
var tabTitle = $(".tabs-closable", $tabs[i]).text();
if (tabTitle != title) {
$("#mTabs").tabs("close", tabTitle);
} else {
break;
}
}
}
}
</script>
EasyUI tab的更多相关文章
- 通过easyui tab添加的子页面JS脚本必须放在body才生效
通过easyui tab添加的子页面JS脚本必须放在body才生效 可通过Chrome查看元素时,head标签是否含有你自己写的JS代码
- Easyui Tab刷新
Easyui Tab刷新: function refreshTab(title){ var tab = $('#id').tab('getTab',title); $('#id').tab('upda ...
- 扩展easyUI tab控件,添加加载遮罩效果
项目里要用HighChart显示图表,如果返回的数量量太多,生成图表是一个很耗时的过程.tab控件又没有显示遮罩的设置(至少本菜是没有找到), Google了一下,根据另一个兄台写的方法,拿来改造了一 ...
- jquery easyui tab加载内容的几种方法
转:http://my.oschina.net/u/2331760/blog/391937?fromerr=saqeoxxB jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页 ...
- easyui tab 加载iframe 高度问题
其实按网上搜的结果,easyui 有个data-options属性是fit:true. 加上他之后会使得自适应父类的宽高. 加上之后,发现个问题,当刷新tab内容的时候高度是对的,但是新建tab的时候 ...
- jquery easyui Tab 引入页面的问题
jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考. 两者特点: href ...
- Easyui Tab使用
常见问题: 1. easyui 在子tab页中打开新tab页(关于easyUI在子页面增加显示tabs的一个问题) https://blog.csdn.net/u014805893/article/d ...
- 【转】 jquery easyui Tab 引入页面的问题
原地址:http://blog.csdn.net/superdog007/article/details/8225518 jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上 ...
- 【转】关于easyui tab 加载 js ajax 不走后台的问题, 怕找不到 以防万一
一直以来群里里面很多人反应,在用tab加载界面的时候,界面里面的js不会执行.今天在此说明一下原因. 不管是window,dailog还是tab其实质最终都是继承了panel.panel有两种方式展示 ...
- easyUI Tab href,content差别
easyUI的Tab面板是继承了panel Tab中js的两种使用方法: 说明:jsp主页面加入一个id为tab的div,要引入easyUI的相关js.css <div data-option ...
随机推荐
- SSL连接并非完全问题解决
教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)SSL 连接并非完全安全问题解决. 更多讨论或者错误提交,也请移步. 最近拿到了 TrustAsia ...
- js实现的玫瑰花
<html> <head> <meta charset="utf-8"> <title>开心快乐每一天</title> ...
- ionic 项目签名
一.ionic 自动签名的好处与坏处(ionic build android/ios) 好处在于:可以直接安装手机上进行安装测试,也可以上传Android或者iOS平台 不好的地方在于:你的电脑环境 ...
- 如今领占主导地位的19种AI技术!
如今领占主导地位的19种AI技术! http://blog.itpub.net/31542119/viewspace-2212797/ 深度学习的突破将人工智能带进全新阶段. 2006 年-2015 ...
- 工程设计文档服务EngineerCMS
工程设计单位或个人的设计文件分类有其特点,利用engineercms的分类目录可以很好地管理资料.多单位,多人,多工程都可以适应. 其他engineercms是一个通用的文档管理,文档协作,在线预览d ...
- Android 2018最新验证手机号正则表达式
/** * 判断字符串是否符合手机号码格式 * 移动号段: 134,135,136,137,138,139,147,150,151,152,157,158,159,170,178,182,183,18 ...
- WANem广域网环境模拟
背景 在测试过程中,往往需要模拟网络环境较差情况下,体验情况,故引入广域网模拟工具辅助测试 安装WANem 步骤1:光盘引导WANem镜像: 步骤2:启动(或者新建虚拟机——选择other insal ...
- Expo大作战(四十)--expo sdk api之 Calendar,Constants
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Java:构造代码块,静态代码块
本文内容: 局部代码块 构造代码块 静态代码块 补充 首发日期:2018-03-28 局部代码块: 局部代码块用于限制变量的生命周期,如果希望某些变量在某一过程之后直接失效而不希望被后面继续操作时,可 ...
- C语言开发的思考
维护过十万行代码的通信协议,自己从头开始开发过几万行的代码,步骤: 1.移植性.为移植性对数据类型做重新定义. 2.内存计数.不要直接使用malloc和free,而是给所有类型的内存申请定义类型,并计 ...