web-dev-qa-db-ja.com

ブートボックスを使用すると、showイベントは発生しません

ダイアログを表示する前に、ダイアログに対してcss調整を行うために、bootbox.confirmダイアログのshowイベントをキャッチできません。

次のようなことを試しましたが、成功しませんでした。

$(document).on("show.bs.modal", function (event) {...});
$(document).on("show", function (event) {...});
$(document).on("show", ".bootbox", function (event) {...});
13
alloyoussef

また、次のようなグローバル関数を使用したいと思います。

function bootbox_confirm(msg, callback_success, callback_cancel) {
    var d = bootbox.confirm({message:msg, show:false, callback:function(result) {
        if (result)
            callback_success();
        else if(typeof(callback_cancel) == 'function')
            callback_cancel();
    }});

    d.on("show.bs.modal", function() {
        //css afjustment for confirm dialogs
        alert("before show");
    });
    return d;
}

そしてそれをこのように呼びます:

bootbox_confirm("my message", function(){alert('ok')}, function(){alert('cancel')}).modal('show');

またはキャンセルのロジックがない場合:

bootbox_confirm("my message", function(){alert('ok')}).modal('show');
3
alloyoussef

これは、Bootbox4.x.xおよびBootstrap 3.x.x:

var box = bootbox.dialog({
  message: '',
  title: '',
  buttons: {},
  show: false
});

box.on("shown.bs.modal", function() {
  alert('it worked!');
});

box.modal('show');

またはこのように:

$(document).on("shown.bs.modal", function (event) {...});
41
codephobia

あなたはこのようにすることができます:

var dialog = bootbox.dialog("foo", [], {show: false});

dialog.on("shown", function() {
 //
});

dialog.modal("show");
2
Nayeem Mansoori