我有一个名为showModalConfirmDialog
的函数,它创建一个自定义的javascript制作对话框,其中包含两个按钮是/否,并使背景变暗。现在在我的函数中,我想调用该函数,如:
var outcome = showModalConfirmDialog('Are you sure?');
我希望根据点击的按钮做出反应;
if(outcome == true){
// do something
} else {
// do something else
}
按钮返回true / false。 Javascript代码:
button1.onclick = function(evt){
return true;
};
button2.onclick = function(evt){
return false;
};
我不知道我错过了什么,任何帮助将不胜感激。感谢
答案 0 :(得分: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');
});
或者这样:
function showModalConfirmDialog(msg, confirmHandler, denyHandler) {
button1.onclick = confirmHandler;
button2.onclick = denyHandler;
}
showModalConfirmDialog(
'Are you sure?',
function () { alert('yes'); },
function () { alert('no'); }
);