使用easyui为tab页增加右键菜单

使用easyui进行上左右布局一文中,我们已经使用easyui搭建起了一个简单的上左右布局。在使用的过程中,我们经常会遇到tab页打开的太多,但只能一个一个的关闭的烦恼,这个时候有没有想到eclipse中tab右键菜单的关闭其他和关闭所有选项呢?

下面我们就来使用easyui来实现tab页的关闭其他和关闭所有的功能。

1.在上一篇文章的html结构中添加入menu的结构

<body>
<div id="home-layout">
    <!-- 以前的code -->
</div>
<!-- tab页的右键菜单 -->
<div id="home-tabs-menu" class="easyui-menu">
    <div data-options="name:1">关闭</div>
    <div data-options="name:2">关闭其他</div>
    <div data-options="name:3">关闭所有</div>
</div>
</body>

2.为tab组件添加鼠标右键事件

<script>
  /*
   * 初始化内容区的tabs
   */
    $("#home-tabs").tabs({
        fit : true,
        border : false,
        //为其附加鼠标右键事件
        onContextMenu: function(e, title, index){       //该方法通知浏览器不要执行与此事件关联的默认动作       //即屏蔽了浏览器在tab页上的鼠标右键事件
            e.preventDefault();
            var mm = $("#home-tabs-menu");
            //显示右键菜单
            mm.menu("show",{
                top: e.pageY,
                left: e.pageX
            }).data("tabTitle",title);
            //为右键菜单选项绑定事件
            mm.menu({
                onClick: function(item){
                    closeTab(this, item.name);
                }
            });
        }
    });
</script>

3.closeTab方法

<script>
/*
 * 关闭tab
 */
function closeTab(menu, type){
    var allTabs = $("#home-tabs").tabs("tabs");
    var allTabTitle = [];
    $.each(allTabs, function(i, n){
        var opt = $(n).panel("options");
        if(opt.closable){
            allTabTitle.push(opt.title);
        }
    });
    var curTabTitle = $(menu).data("tabTitle");
    switch(type){
        case 1:
            //关闭当前
            $("#home-tabs").tabs("close", curTabTitle);
            return false;
            break;
        case 2:
            //关闭其他
            for(var i = 0; i < allTabTitle.length; i++){
                if(curTabTitle != allTabTitle[i]){
                    $("#home-tabs").tabs("close",allTabTitle[i]);
                }
            }
            $("#home-tabs").tabs("select",curTabTitle);
            break;
        case 3:
            //关闭所有
            for(var i = 0; i < allTabTitle.length; i++){
                $("#home-tabs").tabs("close",allTabTitle[i]);
            }
            break;
    }
}
</script>

这样就完成了tab页的右键菜单了,是不是使用起来很方便呢?当然,我们还可以继续在此基础上为它添加更多的功能!

时间: 2024-10-24 23:56:05

使用easyui为tab页增加右键菜单的相关文章

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

在网上看了很多demo 自己实现了一个效果如下 ps jquery1.7.2 jQuery EasyUI 1.3.6easyui QQ群:15129679 <!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>tabs 右键菜单demo QQ:15129

EasyUI 的Tab 标签添加右键菜单

样式: 主要提供右键功能代码. (只需要提供你需要的js和css就行了) <!doctype html> <html> <head> <base href="/smile/" /> <title>标签右键菜单</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

仅在TabControl中的Tab中添加右键菜单

若想实现仅在TabControl中的Tab中添加右键菜单,可在XAML中通过使用样式得到: <TabControl> <TabControl.ItemContainerStyle> <Style TargetType="{x:Type TabItem}"> <Setter Property="ContextMenu"> <Setter.Value> <ContextMenu/> <!--

给最小化托盘增加右键菜单

在窗体上拖一个ContextMenuStrip控件,然后 private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { this.contextMenuStrip1.Show(MousePosition.X, MousePosition.Y - this.contextMenuStrip1.Size.

为jQuery-easyui的tab组件添加右键菜单功能

加入了右击TAB选项卡时显示关闭的上下文菜单 具体实现代码: 右键菜单 HTML: <div id="mm" class="easyui-menu" style="width:150px;"> <div id="mm-tabclose">关闭</div> <div id="mm-tabcloseall">全部关闭</div> <div id=

easyui中tab页中js脚本无法加载的问题及解决方法

我发现tab页中<script src="xxx.js">方式加载的脚本没有生效,firebug看请求也没有请求相应的脚本文件. 单独在浏览器中打开tab页中的页面js脚本请求和加载都没有问题. 之前还以为是诡异的缓存原因,查了资料才知道tab页中加载的是html片段,也就是body中的部分,写在head中的内容会在解析中被过滤掉. 然后把<script src="xx.js">挪到body中,问题就解决了.

给jquery easy-ui 添加右键菜单

版权声明:转自为EasyUI 的Tab 标签添加右键菜单 1 <!doctype html> 2 <html> 3 <head> 4 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 5 <title>tabs 右键菜单demo QQ:15129679</title> 6 <link rel="

[zTree]添加右键菜单

关键代码: /// <reference path="zTree_v3-master/js/jquery-1.4.4.min.js" /> /// <reference path="zTree_v3-master/js/jquery.zTree.all-3.5.js" /> (function (window) { yzTreeUtils = { addMenu: function (zTreeId, menuId) { /// <su

js屏蔽浏览器右键菜单,粘贴,复制,剪切,选中(转)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-