Search code examples
jquerytwitter-bootstrapbootbox

Using bootbox the show event is not fired


I'm not able to catch the show event for the bootbox.confirm dialog in order to do some css adjustments to the dialog before showing it.

I tried things like the followings but didn't succeed:

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

Solution

  • I would also prefer to use a global function like:

    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;
    }
    

    and call it this way:

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

    or when no logic for cancel:

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