0

我已经用自定义对话框覆盖了默认警报框。但我希望脚本暂停,直到单击对话框上的取消按钮。如何使用 javascript 或 jquery 实现它?

PS:我正在尝试制作一个与警报框具有相同功能的对话框。

4

2 回答 2

1

您不能在 javascript 中编写阻塞代码,因为它是单线程的并且在与 UI 相同的线程上运行,请参见此处:Blocking "wait" function in javascript?

您可以通过在您的自定义警报框关闭时触发的回调或事件来做到这一点。

function CustomAlert(message, callback)
{
    alert(message);
    callback();
}

function CodeWhichGetsBlocked()
{
    DoSomething();
    CustomAlert("continue?", function() {
        DoSomething();
    });
}
于 2013-10-08T03:48:34.473 回答
0

我将使用动态 HTML。

var $divAlert = $("<div>Are you sure going to next step?</div>");

$divAlert.dialog({
                autoOpen: true,
        height: "auto",
        width: "auto",
        modal: true,
        buttons: {
            "OK": function(){
                //Your Code/Logic goes here
            },
                    "Cencel": function(){
                        $(this).dialog("close");
                    },
        }
});

您还可以在设计时自定义您的对话框,只需添加类。

喜欢,

dialogClass: "MyDialog"
于 2013-10-08T04:43:14.680 回答