Bootstrap模态弹出窗有三种方式:
1.href触发模态弹出窗元素:
1 <a class="btn btn-primary" data-toggle="modal" href="#mymodal-link" id="href-btn">通过链接href属性触发</a> 2 <!-- 模态弹出窗内容 --> 3 <div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true" id="mymodal-link"> 4 <div class="modal-dialog"> 5 <div class="modal-content"> 6 <div class="modal-header"> 7 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> 8 <h4 class="modal-title">模态弹出窗标题</h4> 9 </div> 10 <div class="modal-body"> 11 <p>模态弹出窗主体内容</p> 12 </div> 13 <div class="modal-footer"> 14 <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button> 15 <button type="button" class="btn btn-primary">保存</button> 16 </div> 17 </div> 18 </div> 19 </div>
2.data-target触发模态弹出窗元素:
1 <button class="btn btn-primary" type="button" data-toggle="modal" data-target="#mymodal-data" id="target-btn">通过data-target触发</button> 2 <!-- 模态弹出窗内容 --> 3 <div class="modal fade" id="mymodal-data" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true"> 4 <div class="modal-dialog modal-lg"> 5 <div class="modal-content"> 6 <div class="modal-header"> 7 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> 8 <h4 class="modal-title">模态弹出窗标题</h4> 9 </div> 10 <div class="modal-body"> 11 <p>模态弹出窗主体内容</p> 12 </div> 13 <div class="modal-footer"> 14 <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button> 15 <button type="button" class="btn btn-primary">保存</button> 16 </div> 17 </div> 18 </div> 19 </div>
3.通过JS触发模态弹出窗:
<button class="btn btn-primary" type="button" id="modal-btn-js">点击我</button> <div class="modal fade" id="mymodal-js"> <div class="modal-dialog modal-sm"> <div class="modal-content"> <!-- 弹出框头部,一般使用“modal-header”表示,主要包括标题和关闭按钮 --> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> <h4 class="modal-title">模态弹出窗标题</h4> </div> <!-- 弹出框主体,一般使用“modal-body”表示,弹出框的主要内容 --> <div class="modal-body"> <p>模态弹出窗主体内容</p> </div> <!-- 弹出框脚部,一般使用“modal-footer”表示,主要放置操作按钮 --> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary">保存</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> //js代码 $(function(){ $("#modal-btn-js").click(function(){ $("#mymodal-js").modal("toggle"); }); });
关于使用:
js触发:
JavaScript触发时的参数设置:
在Bootstrap框架中还为模态弹出窗提供了三种参数设置,具体说明如下:
参数 |
使用方法 |
描述 |
toggle |
$(“#mymodal”).modal(“toggle”) |
触发时,反转模态弹出窗的状态。如果模态弹出窗是显示的,则关闭;反之,如果模态弹出窗是关闭的,则显示 |
show |
$(“#mymodal”).modal(“show”) |
触发时,显示模态弹出窗 |
hide |
$(“#mymodal”).modal(“hide”) |
触发时,关闭模态弹出窗 |
事件设置:
模态弹出窗还支持四种类型的事件,分别是模态弹出窗的弹出前、弹出后,关闭前、关闭后,具体描述如下:
事件类型 |
描述 |
show.bs.modal |
在show方法调用时立即触发(尚未显示之前);如果单击了一个元素,那么该元素将作为事件的relatedTarget属性 |
shown.bs.modal |
该事件在模态弹出窗完全显示给用户之后(并且等CSS动画完成之后)触发;如果单击了一个元素,那么该元素将作为事件的relatedTarget事件 |
hide.bs.modal |
在hide方法调用时(但还未关闭隐藏)立即触发 |
hidden.bs.modal |
该事件在模态弹出窗完全隐藏之后(并且CSS动画漂完成之后)触发 |
调用方法也非常简单:
$('#myModal').on('hidden.bs.modal', function (e) { // 处理代码... })
注意:
1.data-backdrop:三种类型都默认使用;
2.无法使用ESC建退出时,可以添加 tabindex = "-1";