我有这两个功能,其中一个是创建对话框,另一个是销毁进度条,
创建对话框后,我可能需要在其中创建一个进度条并启动它,但是当我关闭对话框时,进度条会继续在后台运行。我需要的是破坏或做任何事情来阻止这个进度条工作。我用 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);
});