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 ...
随机推荐
- array.js
// “最后加” concat 连接两个或更多的数组,并返回结果. var a = ['a','b','c']; var b = ['x','y','z']; var c = a.concat(b,t ...
- 微信小程序实现验证码倒计时效果
效果图 wxml <input class='input-pwd' placeholder="新密码" placeholder-style='color: #000' pas ...
- map标签
map和area 标签配合img标签制作分区超链接效果 http://www.w3school.com.cn/tiy/t.asp?f=html_areamap
- 《ASP.NET MVC企业实战》(三)MVC开发前奏
在上一篇“<ASP.NET MVC企业级实战>(二)MVC开发前奏”中跟随作者大概了解了一些C#3.0和3.5中的新特性.本篇继续以这样的方式来学习C#中的一些特性. 一.C#3. ...
- 《Inside C#》笔记(七) Attribute
Attribute特性可以说是具有开创新的意义,因为一般的语言在被设计出来后,它所具有的能力就已经固定了.而借助Attribute特性,我们可以为C#已有的类型附加信息,既可以在编程时(design- ...
- engineercms支持文档协作和文档流程,基于flow
我们用于管理文件的系统,比如网盘云盘等,并不具备流程功能,所谓流程,本质是修改文档状态,比如,从初始状态,不同权限的人登录,查看这个文件,具有修改这个文档状态的权限,比如将初始状态修改为已审查状态. ...
- Java并发编程(十二)Callable、Future和FutureTask
一.Callable与Runnable 先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法: public interface Runnable { pu ...
- Node 编码规范(优秀是一种习惯)
编码规范 空格与格式 1. 缩进 采用2个空格缩进,而不是tab缩进. 空格在编辑器中与字符是等宽的,而tab可能因编辑器的设置不同.2个空格会让代码看起来更紧凑.明快. 2. 变量声明 永远用var ...
- 洗礼灵魂,修炼python(9)--灵性的字符串
python几大核心之——字符串 1.什么是字符串 其实前面说到数据类型时说过了,就是带有引号的参数,“”引号内的一切东西就是字符串,字符串又叫文本. 2.创建字符串的两种方式: 3.字符串的方法: ...
- python第三十三天----静态方法、类方法、属性方法
@staticmethod 装饰后,类中的方法转成静态方法 class a: @staticmethod def b(self): print('') 静态方法不可以访问实例变量或类变量,相当于类中的 ...