如何在使用自定义对话框时关闭bootbox

Kok*_*zzu 18 javascript modal-dialog bootbox twitter-bootstrap-3

我正在使用bootbox来显示对话框.

如果我使用bootbox.confirm,bootbox.alert或者bootbox.prompt,当按下escape键或在对话框外单击时,对话框将按预期关闭

但是在使用时bootbox.dialog,当我点击对话框外面或escape按键时,对话框没有关闭,如何让它像其他对话框一样工作?

var box = bootbox.dialog({
    show: false,
    backdrop: true,
    animate: false,
    title: 'Bla',
    message: 'bla bla bla',
    buttons: {
        cancel: {
            label: 'Cancel',
            className: 'btn-warning'
        },
        save: {
            label: 'Parse',
            className: 'btn-success',
            callback: function () {
                // handling with ajax
                return false;
            }
        }
    }
});
box.modal('show');
Run Code Online (Sandbox Code Playgroud)

tib*_*dev 32

这应该做到这一点.请注意,这仅在v3上进行了测试.使用bootstrap 2.3.2

$(document).on('click', '.modal-backdrop', function (event) {
    bootbox.hideAll()
});
Run Code Online (Sandbox Code Playgroud)


bar*_*art 16

添加一个onEscape回调函数,它可能有一个空体.

请参阅文档和示例.

基本代码:

bootbox.dialog({
   onEscape: function() {},
   // ...
});
Run Code Online (Sandbox Code Playgroud)

  • `onEscape:true`就足够了. (3认同)