详解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 相关文章推荐
document 和 document.all 分别什么时候用
Jun 22 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
Feb 23 Javascript
究竟什么是Node.js?Node.js有什么好处?
May 29 Javascript
node.js读取文件到字符串的方法
Jun 29 Javascript
jQuery中使用animate自定义动画的方法
May 29 Javascript
jQuery基础知识点总结(必看)
May 31 Javascript
jQuery滚动新闻实现代码
Jun 26 Javascript
vue.js单页面应用实例的简单实现
Apr 10 Javascript
dts文件中删除一个node或属性的操作方法
Aug 05 Javascript
微信小程序云开发如何实现数据库自动备份实现
Aug 16 Javascript
Vue 实现把表单form数据 转化成json格式的数据
Oct 29 Javascript
在vue-cli创建的项目中使用sass操作
Aug 10 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
一个完整的php文件上传类实例讲解
2015/10/27 PHP
PDO::prepare讲解
2019/01/29 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
node.js中的console用法总结
2014/12/15 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
js智能获取浏览器版本UA信息的方法
2016/08/08 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
Python正则表达式完全指南
2017/05/25 Python
matplotlib实现区域颜色填充
2019/03/18 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
Python使用configparser库读取配置文件
2020/02/22 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
python 实现图片裁剪小工具
2021/02/02 Python
IE下实现类似CSS3 text-shadow文字阴影的几种方法
2011/05/11 HTML / CSS
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
企业业务员岗位职责
2014/03/14 职场文书
2014年统计工作总结
2014/11/21 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
财务部会计岗位职责
2015/02/03 职场文书
行政司机岗位职责
2015/04/10 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
2016年元旦致辞
2015/08/01 职场文书
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript