Fork me on GitHub
<div id="tabs" class="easyui-tabs" data-options="plain:true,fit:true,border:'false'">
</div>
<div id="mm" class="easyui-menu" style="width:150px;">
        <div id="tabupdate">刷新</div>
        <div class="menu-sep"></div>
        <div id="mm-tabclose">关闭</div>
        <div id="mm-tabcloseall">关闭全部</div>
        <div id="mm-tabcloseother">关闭其他</div>
        <div class="menu-sep"></div>
        <div id="mm-tabcloseright">关闭右侧标签</div>
        <div id="mm-tabcloseleft">关闭左侧标签</div>
    </div>


        $(function () {
            bindTabEvent();
            bindTabMenuEvent();
        });

        //绑定tab的双击事件、右键事件
        function bindTabEvent() {
            $(".tabs-inner").live('dblclick', function () {
                var subtitle = $(this).children("span").text();
                if ($(this).next().is('.tabs-close')) {
                    $('#tabs').tabs('close', subtitle);
                }
            });
            $(".tabs-inner").live('contextmenu', function (e) {
                $('#mm').menu('show', {
                    left: e.pageX,
                    top: e.pageY
                });
                var subtitle = $(this).children("span").text();
                $('#mm').data("currtab", subtitle);
         
 $('#tabs').tabs('select', subtitle);//右击时触发切换选
return false;
            });
        }
        //绑定tab右键菜单事件
        function bindTabMenuEvent() {
            //刷新
            $('#tabupdate').click(function () {
                var currentTab = $('#tabs').tabs('getSelected');
                var iframe = $(currentTab.panel('options').content);
                var url = iframe.attr('src');//获得连接
                var title = currentTab.panel('options').title;//获得表头信息
                var content = "<iframe scrolling='auto' frameborder='0'  src='"
                        + url + "' style='width:100%;height:100%;'></iframe>";

                $('#tabs').tabs('update', {
                    tab: currentTab,
                    options: {
                        content: content
                    }
                });
            });
            //关闭当前
            $('#mm-tabclose').click(function () {
                var currtab_title = $('#mm').data("currtab");
                $('#tabs').tabs('close', currtab_title);
            });
            //全部关闭
            $('#mm-tabcloseall').click(function () {
                $('.tabs-inner span').each(function (i, n) {
                    if ($(this).parent().next().is('.tabs-close')) {
                        var t = $(n).text();
                        $('#tabs').tabs('close', t);
                    }
                });
            });
            //关闭除当前之外的TAB
            $('#mm-tabcloseother').click(function () {
                var currtab_title = $('#mm').data("currtab");
                $('.tabs-inner span').each(function (i, n) {
                    if ($(this).parent().next().is('.tabs-close')) {
                        var t = $(n).text();
                        if (t != currtab_title)
                            $('#tabs').tabs('close', t);
                    }
                });
            });
            //关闭当前右侧的TAB
            $('#mm-tabcloseright').click(function () {
                var nextall = $('.tabs-selected').nextAll();
                if (nextall.length == 0) {
                    alert('已经是最后一个了');
                    return false;
                }
                nextall.each(function (i, n) {
                    if ($('a.tabs-close', $(n)).length > 0) {
                        var t = $('a:eq(0) span', $(n)).text();
                        $('#tabs').tabs('close', t);
                    }
                });
                return false;
            });
            //关闭当前左侧的TAB
            $('#mm-tabcloseleft').click(function () {
                var prevall = $('.tabs-selected').prevAll();
                if (prevall.length == 1) {
                    alert('已经是第一个了');
                    return false;
                }
                prevall.each(function (i, n) {
                    if ($('a.tabs-close', $(n)).length > 0) {
                        var t = $('a:eq(0) span', $(n)).text();
                        $('#tabs').tabs('close', t);
                    }
                });
                return false;
            });
        }
function addTab(title, url) {
            if ($('#tabs').tabs('exists', title)) {
                $('#tabs').tabs('select', title);
            } else {
                var content = "<iframe scrolling='auto' frameborder='0'  src='"
                        + url + "' style='width:100%;height:100%;'></iframe>";
                $('#tabs').tabs('add', {
                    title: title,
                    content: content,
                    closable: true,
                    iconCls: 'icon-add'
                });
            }
        };

 

posted on 2014-04-12 11:03  lingfeng95  阅读(1043)  评论(0编辑  收藏  举报