自定义javascript确认对话框

Sha*_*yan 1 javascript confirm dialog

我有一个函数调用showModalConfirmDialog,它创建一个自定义的javascript制作对话框,带有两个按钮是/否,并使背景变暗.现在在我的函数中我想调用这个函数:

var outcome = showModalConfirmDialog('Are you sure?');
Run Code Online (Sandbox Code Playgroud)

我想根据点击的按钮做出反应;

if(outcome == true){
    // do something
} else {
    // do something else
}
Run Code Online (Sandbox Code Playgroud)

按钮返回true/false.Javascript代码:

button1.onclick = function(evt){
    return true;
};

button2.onclick = function(evt){
    return false;
};
Run Code Online (Sandbox Code Playgroud)

我不知道我错过了什么,任何帮助将不胜感激.谢谢

lea*_*eaf 5

您无法重现本机模态的行为.相反,你可以使用回调.

这条路 :

function showModalConfirmDialog(msg, handler) {
    button1.onclick = function(evt){
        handler(true);
    };
    button2.onclick = function(evt){
        handler(false);
    };
}
showModalConfirmDialog('Are you sure?', function (outcome) { 
    alert(outcome ? 'yes' : 'no'); 
});
Run Code Online (Sandbox Code Playgroud)

或者这样:

function showModalConfirmDialog(msg, confirmHandler, denyHandler) {
    button1.onclick = confirmHandler;
    button2.onclick = denyHandler;
}
showModalConfirmDialog(
    'Are you sure?', 
    function () { alert('yes'); }, 
    function () { alert('no'); }
);
Run Code Online (Sandbox Code Playgroud)