【发布时间】:2015-02-06 22:19:50
【问题描述】:
使用 Bootstrap 3.3.1,我能够在没有任何额外脚本的情况下获得堆叠模式(如在 Bootstrap 站点中复制粘贴模式模板并将其中的许多模板放在同一页面中)。问题是每当顶部(最高)模态关闭时,滚动焦点会转到主页(在所有剩余模态下),并且只有在打开新模态时才会返回顶部模态。有没有办法将滚动焦点设置到下一个模式而不是主页?
当我通过向body 和单个modals(通过Firefox 的“编辑为HTML”来测试滚动)添加文本来测试解决方案here(甚至this one)时,它具有我需要。
当我尝试使用最新的 jQuery 和 Bootstrap 时出现的一个问题是 modal-backdrop 然后显示在 modal-dialog 上方。 检查元素 每当一个或多个模态出现时,我注意到modal-backdrop 的div 出现在modal 的主要div 中:
<div id="myModal" class="modal fade" aria-hidden="true" style="display: none;">
<div class="modal-backdrop fade in"></div>
<div class="modal-dialog modal-lg"></div>
</div>
与body 的底部相比,它就像here。当我在该链接示例上使用 3.3.1 时,甚至会发生这种情况。我认为这导致主要的div 和modal-backdrop 具有修改后的z-index,但不是modal-dialog,所以我尝试通过添加一行将modal-dialog 设置为具有其父级的@987654340 来修复它@ plus 1. 它把背景放在适当的位置,但滚动问题仍然存在。这是因为 3.3.1 的变化还是我看错了解决方案?
【问题讨论】:
-
看来您只需将
data-backdrop="false"添加到您的嵌套模式中,请参阅:jsfiddle.net/u038t9L0 -
背景不是问题(在问题的最后一段中修复了该问题)。如果顶部关闭,则无法滚动显示的模态。添加您必须在正文中滚动浏览的长内容以及 jsfiddle 中的每个模式。打开每个模态,你会发现你可以上下滚动。关闭一个,您会注意到模态框仍然不滚动,但正文中的内容(不在任何模态框中)会滚动。
标签: javascript jquery html twitter-bootstrap-3