我有一个问题,我需要打开多个调制解调器。好的是,在我打开一个新的模式之前,现有的模式可以关闭。通常情况下,当一个模态被打开时,我会得到一个应用于主体的类,称为“modal open”,它将溢出:隐藏的应用于主体。
我创建了这个脚本:
var login = function () {
var handleRegister = function () {
$("a").click(function (e) {
var target = $(this).data("target");
if (target) {
var visible = $(target).is(":visible");
if (!visible) {
$('.modal').each(function () {
$(this).modal('hide'); // hide existing modals
});
$(target).modal('show');
}
e.preventDefault();
}
});
}
return {
init: function () {
handleRegister();
}
}
}();如您所见,我循环遍历所有现有的模型并关闭它们(假设这调用hidden.bs.modal并从主体中移除模式打开的类),在运行这些模块之后,我在目标上调用显示方法。问题是模式开放的类不适用于主体.
我试着在show之后添加$("body").addClass("modal-open"),但是没有添加该类。
以前有人见过这个吗?
发布于 2014-05-13 10:38:25
我通过连接到隐藏/显示的事件模式来修正这个问题。我修改过的脚本如下:
var login = function () {
var handleRegister = function () {
$("a, button").click(function (e) {
var target = $(this).data("target");
var type = $(this).data("type");
if (target && type) {
var visible = $(target).is(":visible");
if (!visible) {
var available_height = $(window).height() - $('.topbar').outerHeight();
var content = $('.modal-content', target);
content.height(available_height);
$('.modal').each(function () {
$(this).modal('hide'); // hide all existing modals
});
$(target).modal('show');
}
e.preventDefault();
}
});
$('.modal').on('hidden.bs.modal', function (e) {
$("body").removeClass("modal-open");
});
$('.modal').on('shown.bs.modal', function (e) {
$("body").addClass("modal-open");
});
}
return {
init: function () {
handleRegister();
}
}
}();我不知道为什么这样做,因为我希望这是会发生在模态脚本无论如何。但很管用,所以嘿吼。
发布于 2015-02-19 17:24:42
这是我的解决方案:
在你打开第二个模态之前:
hasAlreadyModalOpen = $("BODY").hasClass("modal-open");
mySecondModal.modal("show");
mySecondModal.on('hidden.bs.modal', function (e) {
if (hasAlreadyModalOpen) {
$("body").addClass("modal-open");
}
});发布于 2016-12-11 08:02:37
一个很老的问题,但一个简单的答案,因为这是高搜索结果,这仍然是一个问题。向任何辅助模式(如sub-modal )添加一个额外的类,然后链接到它们的隐藏事件,只会减轻这一点。
$(document).on("hidden.bs.modal",".sub-modal.modal", function () {
$("body").addClass("modal-open");
});https://stackoverflow.com/questions/23612169
复制相似问题