用于确认引导框的Javascript回调函数

Javascript callback function for confirm bootbox

本文关键字:Javascript 回调 函数 确认 用于      更新时间:2023-09-26

我正在使用bootbox来确认我向用户发出的警报框。它是从一个js文件中调用的,我有一个创建它的通用函数。我如何使用回调函数来获得确认对话框的结果:

所以我的js如下:

 var message = "Do you want to close?";
 loadConfirmAlert(message);
 if (result) {
     //do stuff
 }

另一个js文件中的loadCofirmAlert函数如下:

var loadCofirmAlert = function (message) {
    bootbox.confirm(message, function (result) { });
}

我不确定的是如何将这个结果值传递回调用函数?

像这样尝试

var message = "Do you want to close?";
loadConfirmAlert(message,function(result){
    if (result) {
        //do stuff
    }
});
var loadCofirmAlert = function (message,callback) {
    bootbox.confirm(message, function (result) { 
        callback&&callback(result);
    });
}

更新

何处

callback&&callback(result)

只是的较短版本

if (callback)callback(result); //if callback defined, call it

您还可以使用检查回调是否为函数

(typeof(callback)==="function")&&callback(result)

您必须将if语句放入回调中

bootbox.confirm(message, function (result) {
    if (result) {
        //do stuff
    }
});

您面临的问题是,您的loadConfirmAlert(message);没有设置任何名为result的全局变量,因此在您的第一个代码片段中,result永远不会被填充。

你的问题在这里描述得很好。我如何从异步调用返回响应?(尽管他在ajax中提到了这一点,但您基本上也遇到了同样的问题)