jQuery BlockUI Pluginを使用して、ソート アルゴリズムの実行中に jQuery ダイアログをブロックしようとしています。並べ替え機能は次のように機能します。
doSort : function() {
$("#sort_dlg").block();
// sort... takes a few seconds
$("#sort_dlg").unblock();
}
それはうまくいきます。並べ替えが完了するまで、ダイアログはブロックされません。(並べ替えはすべてローカルで行われ、AJAX 呼び出しなどはありません。)並べ替えの前にブロックするにはどうすればよいですか?
block()ダイアログのOKボタンメソッドへの呼び出しを移動してみました:
$(function() {
$("#sort_dlg").dialog({
autoOpen: false,
bgiframe: true,
modal: true,
buttons: {
"Cancel": function() { $(this).dialog("close"); },
"OK": function() {
$("#sort_dlg").block();
doSort();
}
}
});
});
しかし、それは役に立ちませんでした。(他の手法を使用して UI をブロックするための提案を受け入れます。)