ページにダイアログ ボックスを配置しました。ダイアログ ボックスの [OK] ボタンをクリックすると関数が実行されるようにします。また、ダイアログボックスの下のコードは、[OK]ボタンの下の機能がクリックされた後にのみ実行されます。
しかし、[OK] ボタンをクリックする前であっても、コントロールがダイアログ ボックスの下のコードを実行していることに気付きました。
以下はコードです。
var confirmationFlag = false;
alert("alertbox1");
$("#confirmdialog").dialog("open");
alert("alertbox2");
$("#ui-dialog-title-confirmdialog").html("Delete this transaction?");
$("#confirmdialog").html("Are you sure you want to delete this transaction?");
$("#confirmdialog_Ok-button").unbind("click").click( function () {
confirmationFlag = true;
alert("alertbox3" +confirmationFlag);
$("#confirmdialog").dialog("close");
});
alert("alertbox4 " +confirmationFlag);
理想的には、フローが alertbox1 > alertbox2 > alertbox3 > alertbox4 のようになると予想しました
しかし、フローは次のようになります alertbox1 > alertbox2 > alertbox4 > alertbox3
ダイアログ ボックスが開いていて、ダイアログ ボックスの [OK] ボタンをクリックする前であっても、alertbox4 が実行されます。
[OK] をクリックする前にコントロールを保持する方法についてのヘルプをいただければ幸いです。