私はjavascriptとjQueryを初めて使用します。jQueryUIウィジェットを使用してモーダルダイアログを実装しようとしています。
モーダルダイアログは[OK]ボタンと[キャンセル]ボタンで正しく表示されますが、dialog('open')関数呼び出しがブロックされていないようで、[OK]または[キャンセル]クリックを待ちます。たとえば、次のコードを実行すると
.....ボタンクリックで
okToDelete = false; //a global variable
$('deleteDialog').dialog('open'); //this does not block but returns immediately
alert(okToDelete == true ? "ok" : "false");
アラートボックスが最初に表示され、次にモーダルダイアログが表示されます。okToDeleteは、関数に入るときにfalseに設定し、OKボタンのコールバックでtrueに設定したグローバル変数です。
これが私のダイアログ初期化関数です
$("#deleteDialog").dialog({
bgiframe: true,
autoOpen: false,
modal: true,
overlay: {
backgroundColor: '#000',
opacity: 0.5
},
buttons: {
Cancel: function() {
$(this).dialog('close');
},
Ok: function() {
$(this).dialog('close');
okToDelete = true;
}
}
});