私はこれらの2つの機能を持っています.1つはダイアログを作成することで、もう1つはプログレスバーを破棄することです.
ダイアログを作成した後、その中に進行状況バーを作成して開始する必要があるかもしれませんが、ダイアログを閉じると、進行状況バーがバックグラウンドで実行され続けます。私が必要とするのは、この進行状況バーが機能しないように破壊するか、何かをすることです。プログレスバーを破棄するために beforeclose イベントを使用して createdialog 関数を作成しましたが、機能せず、閉じるボタンが反応しないように、ダイアログも閉じていません。
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);
});