详解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 相关文章推荐
jQuery中与toggleClass等价的程序段 以及未来学习的方向
Mar 18 Javascript
jQuery+jqmodal弹出窗口实现代码分明
Jun 14 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
Nov 10 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
May 03 Javascript
jQuery对象的selector属性用法实例
Dec 27 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
Apr 12 Javascript
js实现碰撞检测特效代码分享
Oct 16 Javascript
JavaScript设计模式之单例模式简单实例教程
Jul 02 Javascript
vue实现未登录跳转到登录页面的方法
Jul 17 Javascript
javascript中UMD规范的代码推演
Aug 29 Javascript
vue 父组件通过v-model接收子组件的值的代码
Oct 27 Javascript
vue 点击其他区域关闭自定义div操作
Jul 17 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
PHP 基本语法格式
2009/12/15 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
js一组验证函数
2008/12/20 Javascript
javascript 常用方法总结
2009/06/03 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
Javascript删除数组里的某个元素
2019/02/28 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
python利用selenium进行浏览器爬虫
2019/04/25 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
房地产开发计划书
2014/01/10 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
保密工作整改报告
2014/11/06 职场文书
初婚初育证明范本
2014/11/24 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers