【问题标题】:Bootbox 'loaded' callbackBootbox“加载”回调
【发布时间】:2015-10-05 22:09:42
【问题描述】:

Bootbox.js 是否有在成功显示对话框时调用函数的方法?

我原本打算用它来将隐藏的表单从页面的其他地方切换到 Bootbox,但是如果没有回调或回调类比就无法做到这一点。然后我设计了一种将隐藏的表单移入的方法,在一个令人毛骨悚然的时刻,我意识到我仍然需要一个回调(或类比)来显示表单(删除'hide'类,添加'上课)。

文档似乎没有显示允许我执行此操作的内置属性(bootbox.init 显示了承诺,但我不完全理解它,它没有用示例记录,它似乎是全局的. 我用了很多引导箱)。还有其他方法可以做到这一点吗? Bootbox 会发布某种事件吗?

【问题讨论】:

    标签: javascript jquery bootbox


    【解决方案1】:

    .init() 在特定对话框中被调用,正如我在这里向其他人展示的那样:https://jsfiddle.net/Lu1wp3nn/

    一个简化的例子:

    bootbox
        .alert('Your message')
        .init(function() { 
            /* do something */ 
        });
    

    因为 bootbox.js 只是 Bootstrap 模态的包装器,所以您可以访问 Bootstrap 定义的模态事件。你在shown.bs.modal 之后(或者show.bs.modal,如果你想在显示对话框之前做某事)。

    这是一个例子,改编自the Bootstrap docs

    bootbox
        .alert('Your message')
        .on('shown.bs.modal', function (e) {
            // do something...
        })
    

    【讨论】:

    • forehead smack 我从没想过要查看 Bootstrap 文档。我还使用 .init() 获得了我想要的功能。我正在使用 bootbox 的抽象(以防我们换出另一种显示对话框的方法)并且我选择传入回调。如果我们稍后使用不同的方法,它可能会有一个回调或者我们可以填充一个。就目前而言,只要它存在并且是一个函数,“回调”就会传递给init()。 :) 谢谢!
    【解决方案2】:

    一般用途:

    bootbox.alert|confirm({
      "title": lang['EMBED'],
      "message": content
      }).on("shown.bs.modal", function(e) {
       alert()
     });
    

    【讨论】:

      猜你喜欢
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      相关资源
      最近更新 更多