控制流没有在jquery中的对话框中等待



我在页面中设置了一个对话框,我希望单击对话框上的"确定"按钮即可执行一个函数。此外,我希望对话框下面的代码只有在单击"确定"按钮下的函数后才能执行。

但我发现,甚至在我单击"确定"按钮之前,控件就已经执行了对话框下面的代码。

下面是代码。

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);

理想情况下,我希望流量报警箱1>报警箱2>报警箱3>报警箱4

但是流量是这样的报警箱1>报警箱2>报警箱4>报警箱3

即使在对话框打开并且在单击对话框上的"确定"按钮之前,也会执行alertbox4。

如有任何关于如何在单击"确定"之前继续保持控件的帮助,我们将不胜感激。

alert("alertbox3" +confirmationFlag);是在点击事件处理程序中调用的,因此只有点击后才会显示。

要获得您想要的订单,您必须将警报调用移动到单击功能之外,就像其他警报调用一样。请注意,如果将其移到外部,confirmationFlag仍将是false,因为尚未调用单击处理程序。

最新更新