zoukankan      html  css  js  c++  java
  • jQuery EasyUI 右键菜单--关闭标签/选项卡

    目录结构:

    noContextMenu.js 文件内容如下:
    $(function(){
        //屏蔽右键菜单
        $(document).bind("contextmenu", function(e){ return false; });
    });

     

    效果图:

    方式 一:

     

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>easyui右键菜单-关闭标签方式一</title>
    <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath }/jquery-easyui-1.3.5/themes/default/easyui.css" />
    <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath }/jquery-easyui-1.3.5/themes/icon.css" />
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.11.3.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-migrate-1.2.1.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/noContextMenu.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath }/jquery-easyui-1.3.5/jquery.easyui.min.js"></script>
    
    <script type="text/javascript">
        $(function() {
    
            //生成tab标签
            $('#tt').tabs({
                border : true,
                /* onSelect : function(title) {
                    alert(title + ' is selected');
                } */
            });
    
             //生成右键菜单 
             $('#tt').tabs({
                 onContextMenu: function(e, title, index){
                    //选中标签
                    $('#tt').tabs('select',index);
                    //显示右键菜单
                    $('#mm').menu('show', {
                        left: e.pageX,
                        top: e.pageY
                    }) ;
                 }
              });
              
              //为每个菜单绑定点击事件
              //关闭选中的标签
              $("#closeCurrent").click(function(){
                  //获取选中的标签索引
                 var tab = $('#tt').tabs('getSelected');
                 var index = $('#tt').tabs('getTabIndex',tab);
                 $("#tt").tabs("close",index);
              });
              //关闭选中标签之外的标签
              $("#closeOthers").click(function(){
                  //获取所有标签
                 var tabs = $("#tt").tabs("tabs");
                 var length = tabs.length;
                 //获取选中标签的索引
                 var tab = $('#tt').tabs('getSelected');
                 var index = $('#tt').tabs('getTabIndex',tab);
                 //关闭选中标签之前的标签
                 for(var i=0;i<index;i++){
                    $("#tt").tabs("close",0);
                 }
                 //关闭选中标签之后的标签
                 for(var i=0;i<length-index-1;i++){
                     $("#tt").tabs("close",1);
                 }
              });
              //关闭所有标签
              $("#closeAll").click(function(){
                  var tabs = $("#tt").tabs("tabs");
                  var length = tabs.length;
                  for(var i=0;i<length;i++){
                      $("#tt").tabs("close",0);
                  }
              });
            
        });
        
    </script>
    </head>
    
    <body>
        <!-- menu -->
        <div id="mm" class="easyui-menu" style="120px;">
            <div id="closeCurrent" name="closeCurrent" data-options="iconCls:'icon-no'">关闭当前</div>
            <div id="closeOthers" name="closeOthers" data-options="iconCls:'icon-no'">关闭其它</div>
            <div id="closeAll" name="closeAll" data-options="iconCls:'icon-cancel'">关闭所有</div>
        </div>
    
        <!-- tabs -->
        <div id="tt" class="easyui-tabs" style="500px;height:250px;">
            <div title="Tab1" data-options="closable:true" style="overflow:hidden;padding:20px;display:none;">tab1</div>
            <div title="Tab2" data-options="closable:true" style="overflow:hidden;padding:20px;display:none;">tab2</div>
            <div title="Tab3" data-options="closable:true" style="overflow:hidden;padding:20px;display:none;">tab3</div>
        </div>
    </body>
    </html>

     

    方式 二:    

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>easyui右键菜单-关闭标签方式二</title>
    <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath }/jquery-easyui-1.3.5/themes/default/easyui.css" />
    <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath }/jquery-easyui-1.3.5/themes/icon.css" />
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.11.3.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-migrate-1.2.1.min.js"></script>
    <%-- <script type="text/javascript" src="${pageContext.request.contextPath }/js/noContextMenu.js"></script> --%>
    <script type="text/javascript" src="${pageContext.request.contextPath }/jquery-easyui-1.3.5/jquery.easyui.min.js"></script>
    
    <script type="text/javascript">
        $(function() {
            //生成tab标签
            $('#tt').tabs({
                border : true,
                /* onSelect : function(title) {
                    alert(title + ' is selected');
                } */
            });
            
            //生成右键菜单 
             $('#tt').tabs({
                 onContextMenu: function(e, title, index){
                     //让默认事件失效
                     e.preventDefault() ;
                     //选中标签
                     //$('#tt').tabs('select',title);
                     $('#tt').tabs('select',index);
                     //显示右键菜单
                    $('#mm').menu('show', {
                        left: e.pageX,
                        top: e.pageY
                    });
                    $("#mm").menu({
                         onClick : function (item) {
                             /* alert(item.name);
                             alert(typeof this) ; */
                            closeTab(this, item.name);
                         }
                    });
                 }
              });
              
        });
        
        //关闭标签的方法
        var closeTab = function(type,menuName){
            if(menuName == "closeCurrent"){
                //获取选中的标签索引
                 var tab = $('#tt').tabs('getSelected');
                 var index = $('#tt').tabs('getTabIndex',tab);
                 $("#tt").tabs("close",index);
            }else if(menuName == "closeOthers"){
                //获取所有标签
                 var tabs = $("#tt").tabs("tabs");
                 var length = tabs.length;
                 //获取选中标签的索引
                 var tab = $('#tt').tabs('getSelected');
                 var index = $('#tt').tabs('getTabIndex',tab);
                 //关闭选中标签之前的标签
                 for(var i=0;i<index;i++){
                    $("#tt").tabs("close",0);
                 }
                 //关闭选中标签之后的标签
                 for(var i=0;i<length-index-1;i++){
                     $("#tt").tabs("close",1);
                 }
            }else if(menuName == "closeAll"){
                var tabs = $("#tt").tabs("tabs");
                  var length = tabs.length;
                  for(var i=0;i<length;i++){
                      $("#tt").tabs("close",0);
                  }
            }    
        } ;
        
    </script>
    </head>
    
    <body>
        <!-- menu -->
        <div id="mm" class="easyui-menu" style="120px;">
            <div id="closeCurrent" name="closeCurrent" data-options="iconCls:'icon-no'">关闭当前</div>
            <div id="closeOthers" name="closeOthers" data-options="iconCls:'icon-no'">关闭其它</div>
            <div id="closeAll" name="closeAll" data-options="iconCls:'icon-cancel'">关闭所有</div>
        </div>
    
        <!-- tabs -->
        <div id="tt" class="easyui-tabs" style="500px;height:250px;">
            <div title="Tab1" data-options="closable:true" style="overflow:hidden;padding:20px;display:none;">tab1</div>
            <div title="Tab2" data-options="closable:true" style="overflow:hidden;padding:20px;display:none;">tab2</div>
            <div title="Tab3" data-options="closable:true" style="overflow:hidden;padding:20px;display:none;">tab3</div>
        </div>
    </body>
    </html>

     

     

          

  • 相关阅读:
    手把手教你利用create-nuxt-app脚手架创建NuxtJS应用
    初识NuxtJS
    webpack打包Vue应用程序流程
    用选择器代替表格列的筛选功能
    Element-UI
    Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]
    Sparse Principal Component Analysis via Rotation and Truncation
    Generalized Power Method for Sparse Principal Component Analysis
    Sparse Principal Component Analysis via Regularized Low Rank Matrix Approximation(Adjusted Variance)
    Truncated Power Method for Sparse Eigenvalue Problems
  • 原文地址:https://www.cnblogs.com/zhuwenqi2016/p/5944198.html
Copyright © 2011-2022 走看看