详解bootstrap的modal-remote两种加载方式【强化】


Posted in Javascript onJanuary 27, 2017

方法一:

使用链接

<a href="demo.jsp" data-toggle="modal" data-target="#mymodal">打开</a>

当点击该连接时,demo.jsp的内容就可以动态的加载到<div class="modal-content"></div>中。当然这里的连接也可以是controller

方法二:

使用脚本

$("#myModal").modal({  
  remote: "page.jsp"  
});

但是这样加载后,会有问题,modal数据只加载一次,如果要加载不同的数据,例如根据id查询详细信息,modal的数据是不能更新的,即使传的id值不同。其实解决办法很简单,只需要在加载下次数据前,将之前的加载的数据清除即可。

最简单的方式就是监听modal的hidden,当modal关闭时,即把数据清除即可:

//v2 
$("#myModal").on("hidden", function() {  
  $(this).removeData("modal");  
});  
//v3 
$("#myModal").on("hidden.bs.modal", function() {  
  $(this).removeData("bs.modal"); 
});

问题来了:如果在请求的页面中有$()加载事件加载比如boostrap-validator或者boostrap-fileinput等插件会出现奇怪的现象,第一次正常执行,关掉modal,第二次,$()的代码没有执行,第三次能执行;经过反复发现“hidden.bs.modal”监听每次都执行了,但是加载到<div class="modal-content"></div>里面的数据没有被清除,可能是这个原因导致的这种现象,于是改成如下代码:

$("#myModal").on("hidden.bs.modal", function() {  
  $(this).removeData("bs.modal"); 
  /*modal页面加载$()错误,由于移除缓存时加载到<span style="color: rgb(51, 51, 255);"><div class="modal-content"></div></span>未移除的数据,手动移除加载的内容*/ 
  $(this).find(".modal-content").children().remove();  
});

如此这样问题解决了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js下写一个事件队列操作函数
Jul 19 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
Feb 02 Javascript
js 实现的可折叠留言板(附源码下载)
Jul 01 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
Sep 19 Javascript
JSON与js对象序列化实例详解
Mar 16 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
Apr 01 Javascript
基于AngularJS的拖拽文件上传的实例代码
Jul 15 Javascript
浅谈JS中的常用选择器及属性、方法的调用
Jul 28 Javascript
vue中eslintrc.js配置最详细介绍
Dec 21 Javascript
JavaScript设计模式之代理模式实例分析
Jan 16 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
Aug 02 Javascript
Vue中使用better-scroll实现轮播图组件
Mar 07 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
Jan 26 #Javascript
js监听input输入框值的实时变化实例
Jan 26 #Javascript
jquery实现input框获取焦点的简单实例
Jan 26 #Javascript
jquery 实时监听输入框值变化的完美方法(必看)
Jan 26 #Javascript
Jquery实时监听input value的实例
Jan 26 #Javascript
jquery实时获取时间的简单实例
Jan 26 #Javascript
微信小程序实现图片自适应(支持多图)
Jan 25 #Javascript
You might like
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
PHP读写文件的方法(生成HTML)
2006/11/27 PHP
php学习之function的用法
2012/07/14 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
php实现读取超大文件的方法
2014/07/28 PHP
javascript OFFICE控件测试代码
2009/12/08 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
js获取form的方法
2015/05/06 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
Python脚本文件打包成可执行文件的方法
2015/06/02 Python
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
利用Python如何生成随机密码
2016/04/20 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
英国著名的美容护肤和护发产品购物网站:Lookfantastic
2020/11/23 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
酒桌上的开场白
2015/06/01 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python