我正在使用https://nakupanda.github.io/bootstrap3-dialog/中的bootstrap3-dialog
库
问题是,每次对话框显示(警报,确认或自定义对话框)时,主体的滚动条都消失了,对话框关闭后再也不会回来。我可以在每个对话框的onhide
属性上添加此行,但这很耗时:
$('body').css('overflow','scroll')
每次模态关闭时,还有其他方法可以触发该功能吗?
最佳答案
我正在查看引导程序模式的代码,他们有以下内容:
resetScrollbar: function() {
var openedDialogs = this.getGlobalOpenedDialogs();
if (openedDialogs.length === 0) {
this.$body.css('padding-right', BootstrapDialogModal.ORIGINAL_BODY_PADDING);
}
},
调用:
hideModal: function() {
this.$element.hide();
this.backdrop($.proxy(function() {
var openedDialogs = this.getGlobalOpenedDialogs();
if (openedDialogs.length === 0) {
this.$body.removeClass('modal-open');
}
this.resetAdjustments();
this.resetScrollbar();
this.$element.trigger('hidden.bs.modal');
}, this));
}
我似乎无法弄清楚是什么导致该代码无法带回滚动条。他们的网站上似乎运作良好。
如果您愿意的话,我建议调试api本身的hideModal函数,并弄清楚为什么它不起作用,并可能将上面的css片段放在其中以解决问题。
或者也许将您的代码发布在plunkr,jsfiddle上,以便我们看看发生了什么。