easyuiメニューバーの使用

19546 ワード

<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'

                });

            }

        };