Bootstrapmodal
会在modal-open
显示模态对话框时自动将类添加到正文中,并在对话框隐藏时将其删除。因此,您可以将以下内容添加到您的 CSS:
body.modal-open {
overflow: hidden;
}
您可能会争辩说上面的代码属于 Bootstrap CSS 代码库,但这是将其添加到您的站点的简单修复。
2013 年 2 月 8 日更新
这在 Twitter Bootstrap v. 2.3.0 中现已停止工作——他们不再将modal-open
类添加到正文中。
一种解决方法是在模态即将显示时将类添加到正文中,并在模态关闭时将其删除:
$("#myModal").on("show", function () {
$("body").addClass("modal-open");
}).on("hidden", function () {
$("body").removeClass("modal-open")
});
2013 年 3 月 11 日更新
看起来modal-open
该类将在 Bootstrap 3.0 中返回,明确用于防止滚动:
在身体上重新引入 .modal-open (所以我们可以在那里取消滚动)
请参阅:https : //github.com/twitter/bootstrap/pull/6342 - 查看Modal部分。