Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案


Posted in Javascript onFebruary 23, 2017

最近一直在使用Bootstrap,遇到了很多问题,通过google也明白了很多,学习了很多。针对‘Bootstrap modal 多弹窗之叠加显示不出弹窗问题'说一下自己的解决办法。

当然还是官方提出的‘最好不要多个modal叠加很容易出现很难解决的前端组件问题'

示例代码:

<div class='bs-example-modal-lg fade modal' data='0' id='feature-mapping-dialog-form' style='display:none'>
     <div class='modal-dialog modal-max-lg'>
     <div class='modal-content'>
      <div class='modal-header'>
      <button class='close' id='feature-mapping-dialog-form_close_button' type='button'>x</button>
      <h4 class='modal-title'>Map Features</h4>
      </div>
      <div class='modal-body'>
      <div>
       <table>
        <tr>
         .....
         <td>
         <div class='bs-example-modal-lg fade modal' id='feature-mapping-dialog-form' style='display:none'>
     <div class='modal-dialog modal-max-lg'>
     <div class='modal-content'>
      <div class='modal-header'>
       <button class='close' id='feature-mapping-dialog-form_close_button' type='button'>x</button>
      <h4 class='modal-title'>Map Features</h4>
      </div>
      <div class='modal-body'> 
      ...

script:

$( "#feature-mapping-dialog-form" ).bind('show.bs.modal',function(){
  if($( "#feature-mapping-dialog-form" ).attr("data")=="1"){
  $("#ajax_search_done").val("NO");
  $("#edit_path_lba_tree").jstree("deselect_all");
  $("#edit_path_lba_tree").jstree("close_all");
 ...
  $( "#feature-mapping-dialog-form" ).attr("data","0");  
 })
$( "#feature-mapping-dialog-form" ).bind('hide.bs.modal',function(){
  if($( "#feature-mapping-dialog-form" ).attr("data")=="1"){
  $("#edit_path_lba_tree").jstree("deselect_all");
  $("#edit_path_lba_tree").jstree("close_all");
  ... 
  $( "#feature-mapping-dialog-form" ).attr("data","0"); 
 })

效果是在第一个弹框的基础上弹出第二个modal

这里很多人会问,我的没问题啊,直接显示了,请看代码,如果你的modal的div是直接在body下面的,并且modal没有其他额外的action监听,比如'show.bs.modal','hide.bs.modal'等监听事件,简单弹出显示文本内容,不会有什么问题,如果有以上的逻辑代码,那么modal弹窗就会出问题,也就是显示不出来第二个modal.

针对这个问题,我的解决办法是:

<div class='bs-example-modal-lg fade modal' data='0' id='feature-mapping-dialog-form' style='display:none'>

增加data属性区分modal

当调用xxxx.modal()之前,设置为”1”,进入监听代码

判断是否为第一个modal访问,处理完逻辑,重新设置为0.

以上所述是小编给大家介绍的Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用jquery来定位
Feb 20 Javascript
JQuery autocomplete 使用手册
Apr 01 Javascript
textarea中的手动换行处理的jquery代码
Feb 26 Javascript
node.js中的buffer.length方法使用说明
Dec 14 Javascript
javascript将异步校验表单改写为同步表单
Jan 27 Javascript
Vue.js系列之项目搭建(1)
Jan 03 Javascript
详解JavaScript RegExp对象
Feb 04 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
May 12 Javascript
vue translate peoject实现在线翻译功能【新手必看】
Jun 07 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
Nov 14 Javascript
jQuery实现html可联动的百分比进度条
Mar 26 jQuery
vue+elementUI动态增加表单项并添加验证的代码详解
Dec 17 Vue.js
JS实现的五级联动菜单效果完整实例
Feb 23 #Javascript
jquery实现焦点轮播效果
Feb 23 #Javascript
SVG描边动画
Feb 23 #Javascript
Angular JS 生成动态二维码的方法
Feb 23 #Javascript
js实现楼层导航功能
Feb 23 #Javascript
jQuery点击头像上传并预览图片
Feb 23 #Javascript
jQuery事件与动画基础详解
Feb 23 #Javascript
You might like
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
PHP生成等比缩略图类和自定义函数分享
2014/06/25 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
php微信支付接口开发程序
2016/08/02 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
python结合API实现即时天气信息
2016/01/19 Python
django之session与分页(实例讲解)
2017/11/13 Python
单链表反转python实现代码示例
2018/02/08 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
python tornado修改log输出方式
2019/11/18 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
用python实现名片管理系统
2020/06/18 Python
C语言笔试题回忆
2015/04/02 面试题
思想专业自荐信范文
2013/12/25 职场文书
校园文化建设方案
2014/02/03 职场文书
逃课上网检讨书
2014/02/20 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
2014年服务员工作总结
2014/11/18 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
2022/02/12 Redis
flex弹性布局详解
2022/03/20 HTML / CSS