Bootstrap 模态在 iPhone 上不起作用
Posted
技术标签:
【中文标题】Bootstrap 模态在 iPhone 上不起作用【英文标题】:Bootstrap modal not working on iPhone 【发布时间】:2018-08-30 18:24:35 【问题描述】:这是模态:
<div class="modal fade" id="modalInsertAgression" tabindex="-1" role="dialog" aria-labelledby="modalInsertAgression" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="card">
<form id="formInsertarAgresion" action="% url 'insertarAgresion' %" role="form">% csrf_token %
<div class="card-header card-header-icon" data-background-color="rose">
<i class="material-icons">place</i>
</div>
<div class="card-content">
<h4 class="card-title">Test</h4>
<p class="text-center" id="msgModalInsertAgression"></p>
<br>
<div class="input-group">
<span class="input-group-addon"><i class="material-icons">date_range</i></span>
<div class="form-group"> agresionForm.fecha </div>
</div>
</div>
<div class="card-footer pull-right">
<button id="btnInsertModalInsertAgression" type="submit" class="btn btn-fill btn-rose">Insertar</button>
<button id="btnCloseModalInsertAgression" type="button" class="btn btn-default btn-fill" data-dismiss="modal">Cancelar</button>
</div>
</form>
</div>
</div>
我打开它:
$("#modalInsertAgression").show();
在 iPhone 上不工作,当模态出现时背景一直是黑色的并且失去焦点,你不能点击模态或按钮。
编辑:模态仅适用于$("#modalInsertAgression").modal(backdrop: false);
,但我不想丢失黑色背景...
【问题讨论】:
【参考方案1】:试用(在 iOS 11 上测试):
$('#modalInsertAgression').modal('show');
片段:
$('#modalInsertAgression').modal('show');
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="modal fade" id="modalInsertAgression" tabindex="-1" role="dialog" aria-labelledby="modalInsertAgression" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="card">
<form id="formInsertarAgresion" action="% url 'insertarAgresion' %" role="form">% csrf_token %
<div class="card-header card-header-icon" data-background-color="rose">
<i class="material-icons">place</i>
</div>
<div class="card-content">
<h4 class="card-title">Test</h4>
<p class="text-center" id="msgModalInsertAgression"></p>
<br>
<div class="input-group">
<span class="input-group-addon"><i class="material-icons">date_range</i></span>
<div class="form-group"> agresionForm.fecha </div>
</div>
</div>
<div class="card-footer pull-right">
<button id="btnInsertModalInsertAgression" type="submit" class="btn btn-fill btn-rose">Insertar</button>
<button id="btnCloseModalInsertAgression" type="button" class="btn btn-default btn-fill" data-dismiss="modal">Cancelar</button>
</div>
</form>
</div>
</div>
【讨论】:
它不适用于 iPhone 6 ios 11.2.6 仅适用于$("#modalInsertAgression").modal(backdrop: false);
但它失去了黑色背景...
它是哪个引导程序版本?您是否能够至少为桌面创建一个工作小提琴,因为共享代码并非如此。顺便说一句,使用背景方法,您确实可以去除黑色背景。
是bootstrap 3.3.7
Jota,在这种情况下,您在上面有一个工作示例,其中包含您共享的代码片段,如果您仍然无法修复它,也许可以共享更多代码或网址?【参考方案2】:
我在这里找到了解决方案:
如果模态容器具有固定或相对位置或在 具有固定或相对位置的元素会发生此行为。 Bootstrap modal appearing under background
【讨论】:
以上是关于Bootstrap 模态在 iPhone 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
为啥 pull-right 类在 bootstrap 版本 4.1.0 上不起作用? [复制]
Bootstrap popover 关闭功能在 iphone 中不起作用