使用JavaScript自定义确认对话框

sup*_*iox 8 javascript jquery confirm dialog callback

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

是否可以使用JavaScript/jQuery但没有插件(例如jQuery UI或Dialog)?因为我正在努力减少尺寸和往返时间......

我试着编写这段代码,但我不知道如何让用户点击这个函数"等待".

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

answer=myConfirm("Are you sure?")
Run Code Online (Sandbox Code Playgroud)

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

geo*_*ock 13

而不是等待用户的输入然后从函数返回,在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
    }
});
Run Code Online (Sandbox Code Playgroud)

这可以通过以下方式实施:

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

    // Create user interface, display message, etc.

    confirmButton.onclick = function() { callback(true); };
    cancelButton.onclick = function() { callback(false); };
}
Run Code Online (Sandbox Code Playgroud)