Easyui 关闭jquery-easui tab标签页前触发事件

2019-09-10 18:35:13 浏览数 (2)

测试环境

jquery-easyui-1.5.3

需求场景

点击父页面tab 页关闭按钮时,需要做判断,判断该tab页面是否可以关闭:获取子页面js中定义的taskStatus,如果taskStatu不为taskEnd,则表示任务还在执行,不让关闭

解决方法

给tab标签页增加onBeforeClose事件处理函数,如下:

代码语言:javascript复制
$(function(){
代码语言:javascript复制
    $('#tabs').tabs({
代码语言:javascript复制
        onBeforeClose: function(title,index){
代码语言:javascript复制
            if (title.indexOf('debug-') != -1) { // debug调试页面,否则查看用例页面
代码语言:javascript复制
                var target = this;
代码语言:javascript复制
                var tab = $(target).tabs('getTab', index);
代码语言:javascript复制
                var tabID = tab.panel('options').id;
代码语言:javascript复制
                var taskStatus = document.getElementById('iframe-'    tabID).contentWindow.taskStatus;
代码语言:javascript复制
                if (taskStatus) {
代码语言:javascript复制
                    if ( taskStatus != 'taskEnd') {
代码语言:javascript复制
                        $.messager.alert('告警', '正在调试运行,请等待运行结束后再关闭!', 'warn')
代码语言:javascript复制
                        return false;
代码语言:javascript复制
                    }
代码语言:javascript复制
                }
代码语言:javascript复制
                return true;
代码语言:javascript复制
            }
代码语言:javascript复制
            return true;
代码语言:javascript复制
        }
代码语言:javascript复制
    });
代码语言:javascript复制
});

说明:这里title,index分别为所点击tab的title和索引

0 人点赞