0

私はこれらの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);
});
4

0 に答える 0