javascript - 使用 JavaScript 自定义确认对话框

标签 javascript jquery dialog callback confirm

我想创建一个类似于 confirm() 的 JavaScript 函数,它显示一个对话框(一个带有问题和 2 个按钮的 div)并返回 true 如果用户单击“确定”或 false 否则。

是否可以使用 JavaScript/jQuery 但没有插件(例如 jQuery UI 或 Dialog)来做到这一点?因为我正在尝试减小尺寸和往返时间...

我尝试编写这段代码,但我不知道如何让函数“等待”用户点击。

我想以这种方式使用我的函数:

answer=myConfirm("Are you sure?")

通过这种方式,我可以在多个上下文中使用相同的函数,只需更改作为参数传递的问题。这与 confirm() 的行为相同

最佳答案

与其等待用户输入然后从函数返回,在 JavaScript 中更常见的是提供一个回调函数,当您等待的操作完成时将调用该函数。例如:

myCustomConfirm("Are you sure?", function (confirmed) {
    if (confirmed) {
        // Whatever you need to do if they clicked confirm
    } else {
        // Whatever you need to do if they clicked cancel
    }
});

这可以按照以下方式实现:

function myCustomConfirm(message, callback) {
    var confirmButton, cancelButton;

    // Create user interface, display message, etc.

    confirmButton.onclick = function() { callback(true); };
    cancelButton.onclick = function() { callback(false); };
}

关于javascript - 使用 JavaScript 自定义确认对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10824984/

相关文章:

jquery - 与 Post 进行交叉调用,但在飞行前失败

Android:更改进度对话框文本

Javascript 拆分字符串

java - 为什么Java代码需要编译而JavaScript代码不需要

调整 CK 编辑器大小的 Javascript 不起作用

javascript - 在javascript中使用HTML保留缩进格式

php - 下拉列表框中的复选框内的复选框

javascript - 在 Javascript 中,让构造函数与其创建的对象同名是一种好习惯吗?

php - 如何在 Jquery 对话框中打开表单操作

c# - 覆盖 WinForms MessageBox 控件