详解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 相关文章推荐
json 入门基础教程 推荐
Oct 31 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
Apr 20 Javascript
JavaScript实现带标题的图片轮播特效
May 20 Javascript
javascript字符串循环匹配实例分析
Jul 17 Javascript
关于vue中 $emit的用法详解
Apr 12 Javascript
深入浅析Vue中的Prop
Jun 10 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
Sep 05 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
Sep 19 Javascript
vuex 中插件的编写案例解析
Jun 10 Javascript
微信小程序之几种常见的弹框提示信息实现详解
Jul 11 Javascript
ES6 Iterator接口和for...of循环用法分析
Jul 31 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
Sep 01 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
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
浅谈php调用python文件
2019/03/29 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
vue计算属性和监听器实例解析
2018/05/10 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
2018/09/21 Javascript
微信小程序登录态和检验注册过没的app.js写法
2019/05/22 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
Python numpy 常用函数总结
2017/12/07 Python
python模块导入的方法
2019/10/24 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
windows支持哪个版本的python
2020/07/03 Python
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
环境科学专业研究生求职信
2013/10/02 职场文书
管道维修工岗位职责
2013/12/27 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
工作简历的自我评价
2019/05/16 职场文书
php修改word的实例方法
2021/11/17 PHP