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的更多相关文章

  1. 通过easyui tab添加的子页面JS脚本必须放在body才生效

    通过easyui tab添加的子页面JS脚本必须放在body才生效 可通过Chrome查看元素时,head标签是否含有你自己写的JS代码

  2. Easyui Tab刷新

    Easyui Tab刷新: function refreshTab(title){ var tab = $('#id').tab('getTab',title); $('#id').tab('upda ...

  3. 扩展easyUI tab控件,添加加载遮罩效果

    项目里要用HighChart显示图表,如果返回的数量量太多,生成图表是一个很耗时的过程.tab控件又没有显示遮罩的设置(至少本菜是没有找到), Google了一下,根据另一个兄台写的方法,拿来改造了一 ...

  4. jquery easyui tab加载内容的几种方法

    转:http://my.oschina.net/u/2331760/blog/391937?fromerr=saqeoxxB jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页 ...

  5. easyui tab 加载iframe 高度问题

    其实按网上搜的结果,easyui 有个data-options属性是fit:true. 加上他之后会使得自适应父类的宽高. 加上之后,发现个问题,当刷新tab内容的时候高度是对的,但是新建tab的时候 ...

  6. jquery easyui Tab 引入页面的问题

    jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考. 两者特点: href ...

  7. Easyui Tab使用

    常见问题: 1. easyui 在子tab页中打开新tab页(关于easyUI在子页面增加显示tabs的一个问题) https://blog.csdn.net/u014805893/article/d ...

  8. 【转】 jquery easyui Tab 引入页面的问题

    原地址:http://blog.csdn.net/superdog007/article/details/8225518 jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上 ...

  9. 【转】关于easyui tab 加载 js ajax 不走后台的问题, 怕找不到 以防万一

    一直以来群里里面很多人反应,在用tab加载界面的时候,界面里面的js不会执行.今天在此说明一下原因. 不管是window,dailog还是tab其实质最终都是继承了panel.panel有两种方式展示 ...

  10. easyUI Tab href,content差别

    easyUI的Tab面板是继承了panel Tab中js的两种使用方法: 说明:jsp主页面加入一个id为tab的div,要引入easyUI的相关js.css  <div data-option ...

随机推荐

  1. C#设计模式六大原则概述

    在面向对象的设计中,我们应当遵循以下六大原则,只有掌握了这些原则,才能更好的理解设计模式. 1:单一职责原则(Single Responsibility Principle 简称 :SRP) : 就一 ...

  2. 10种JavaScript开发者必备的VS Code插件

    摘要: 好的代码插件可以让工作效率翻倍,心情也更加舒畅! 原文:10 Must-have VS Code Extensions for JavaScript Developers 作者:Michael ...

  3. python字典按照value进行排序

    先说几个解决的方法,具体的有时间再细说 d = {'a':1,'b':4,'c':2} 字典是这个,然后要对字典按照value进行排序 方法一: sorted(d.items(),key = lamb ...

  4. Canvas-line.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 深入研究HTML5实现图片压缩上传

    上篇文章中提到移动端上传图片,我们知道现在流量还是挺贵的,手机的像素是越来越高,拍个照动不动就是好几M,伤不起.虽然客户端可以轻轻松松实现图片压缩再上传,但是我们的应用还可能在浏览器里面打开,怎么办呢 ...

  6. java获取文件路径

    情况:工程项目没有放到tomcat下,在eclipse运行 1.获取项目根目录,根据在哪里运行 2. 3.从最终生成的.class文件为着手点 4.在controller下

  7. vue.js及项目实战[笔记]— 02 vue.js基础

    一. 基础 1. 注册全局组件 应用场景:多出使用的公共性能组件,就可以注册成全局组件,减少冗余代码 全局APIVue.component('组件名','组件对象') 2.附加功能:过滤器&监 ...

  8. pip install 报错

    问题描述,在使用pip安装django相关软件包时,提示错误如下: [root@test4 install]# pip install django==1.6 Downloading/unpackin ...

  9. Android 裁剪人脸

    人脸裁剪类 public final class FaceCj { private static BitmapFactory.Options BitmapFactoryOptionsbfo; priv ...

  10. C#委托之我见

    委托的使用方式很简单,了解一下基本语法就可以开撸了.但是使用委托的真正难题是不知道应用场景,就像习得了一门新功夫,但是却找不到任何施展拳脚的地方.这个难题一直困然着我,直到最近仿佛有所领悟,所以赶紧记 ...