javascript - 在函数 F1 内调用函数 F2。根据F2返回值继续F1执行

标签 javascript jquery callback promise bootstrap-modal

我想在函数中调用模态。并根据点击模态的内容,我想继续我的功能。

我知道这可以通过不同的 promise 或回调来完成。但我不明白该怎么做

我的功能是

$(".delete").click(function(){


/// call a modal
     $(".confirm").modal();


    /*
     now if clicked yes in modal 
      then continue with my ajax call
     else return false
    */


});

我期待延迟的 promise 或回调答案。因为我想知道它们在这种情况下是如何工作的

最佳答案

试试这个

$(".confirm").dialog({
            modal: true,
            buttons: {
                Yes: function () {
                    // Ajax call 
                    $(this).dialog("close");
                },
                No: function () {
                    $(this).dialog("close");
                }
            },
            close: function (event, ui) {
                $(this).remove();
            }
});
<小时/>

编辑:这是一个带有“回调”的版本(不想添加新答案,因为这包括基础知识,只是稍微重构了):

function modalwithcallbacks(selector, yes, no, close)
{
    $(selector).dialog({    
        modal: true,
        buttons: {
            Yes: yes,
            No: no,
        },
        close: close
    });
}

modalwithcallbacks(
    ".confirm", 
    function () { alert("yes"); $(this).dialog("close"); },
    function () { alert("no"); $(this).dialog("close"); }
    function () { $(this).remove(); }
);

下一步是将其设为 $.fn. 以删除选择器部分或直接在方法中添加对话框。

您可以选择要执行哪些操作作为回调(例如,仅"is")并保持关闭/否内联,给出:

$(".delete").click(function() {
    modalwithcallbacks(".confirm", function() {
        // yes clicked, continue with ajax call
    });
});

关于javascript - 在函数 F1 内调用函数 F2。根据F2返回值继续F1执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39543727/

相关文章:

django - 如何自动从服务器获取新数据?

javascript - 如何运行一个调用函数的函数,然后再调用下一个函数。创建回调函数

javascript - if 条件检查两个选择器是否悬停,如果悬停,则文本行下划线

javascript - 以编程方式更改输入时, Angular 模型不会更新

c# - 在这种情况下如何进行ajax?

javascript - jQuery 调用与淡入淡出同时错误地触发

Javascript onload 和脚本回调函数,哪个优先?

javascript - 悬停时的 Svg 使组可见

javascript - 单击单选按钮时的 JQuery Slidedown() SlideUp()

javascript - 连续获取之前、今天和明天的日期