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