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 相关文章推荐
JavaScript 新手24条实用建议[TUTS+]
Jun 21 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
Jul 19 Javascript
jquery 选择器部分整理
Oct 28 Javascript
原生js的弹出层且其内的窗口居中
May 14 Javascript
node.js中的querystring.stringify方法使用说明
Dec 10 Javascript
JavaScript中计算网页中某个元素的位置
Jun 10 Javascript
基于jQuery仿淘宝产品图片放大镜特效
Oct 19 Javascript
详解vue.js全局组件和局部组件
Apr 10 Javascript
vue的keep-alive用法技巧
Aug 15 Javascript
Vue项目打包部署到iis服务器的配置方法
Oct 14 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
Oct 23 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
Mar 05 Javascript
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
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
PHP7变量处理机制修改
2021/03/09 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
JS事件在IE与FF中的区别详细解析
2013/11/20 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
2017/04/01 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
jQuery代码优化方法总结
2018/01/29 jQuery
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
Python模拟百度登录实例详解
2016/01/20 Python
python+opencv实现动态物体追踪
2018/01/09 Python
浅谈python的dataframe与series的创建方法
2018/11/12 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
python安装gdal的两种方法
2019/10/29 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
期末个人总结范文
2015/02/13 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫
Python软件包安装的三种常见方法
2022/07/07 Python
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技