如何在关闭对话框时销毁进度条?

时间:2013-04-09 05:54:52

标签: javascript html jquery-ui

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

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

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但MESSY ):

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

并且它可以工作,但不能让它调用函数而不是if这样的条件(不工作):

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

0 个答案:

没有答案