0

我有这两个功能,其中一个是创建对话框,另一个是销毁进度条,

创建对话框后,我可能需要在其中创建一个进度条并启动它,但是当我关闭对话框时,进度条会继续在后台运行。我需要的是破坏或做任何事情来阻止这个进度条工作。我用 beforeclose 事件编写了 createddialog 函数来破坏进度条,但它不起作用,而且对话框甚至没有关闭,就像关闭按钮没有响应一样。

function createdialog(trgt,h,w) {
    $( trgt ).dialog({
        height:h,
        width:w,
        autoOpen: false,
        show: {
            effect: "blind",
            duration: 200
        },
        hide: {
            effect: "blind",
            duration: 100
        },
        beforeClose: function( event, ui ) {
                destroyprogresspar(trgt);
        }
    });
}

destroyprogresspar(dialg) {
    if(dialg=="#myfilesdialog") { 
        $("#progressbar").progressbar("destroy");
    } else if(dialg=="#ibrowser") {
        $("#progressbar2").progressbar("destroy");
    }
}

我尝试在创建这样的对话框时创建一个关闭处理程序(WORKS BUT MESSY):

$(trgt).on("dialogbeforeclose", function( event, ui ) {
    if(trgt=="#myfilesdialog") {
        $("#progressbar").progressbar("destroy");
    } else if(trgt=="#ibrowser") {
        $("#progressbar2").progressbar("destroy");
    } 
});  

它可以工作,但不能让它调用一个函数,而不是像这样的 if 条件(DOESN'T WORK):

$(trgt).on("dialogbeforeclose", function( event, ui ) {
    destroyprogresspar(trgt);
});
4

0 回答 0