fancybox 无效 失效 直接打开页面, ajax 之后 fancybox对更新的数据无效,Jquery失效 无效
案例:做个聊天室项目,数据都是通过ajax刷新出来的,而对新数据绑定的fancybox均无效,点击直接打开到了新页面而不是弹窗,解决方法其实很简单
简单分析:ajax加载内容是在$(document).ready()之后的操作,这个时候给绑定函数的时候,找到的元素集合中还不包括ajax加载的内容,所以原来的没有问题,Ajax后加载的就没有绑定
详细分析:我们的 fancybox 使用的时候要写在 jquery的 $(document).ready(function () {})里面,也就是在文档加载完之后,就绑定给了 fancybox ,但是我们ajax之后出来的数据,已经是在这个文档绑定之后出现的,所以现在你点击是没有用的,因为没有绑定到时间,那么解决方法呢?就是重新绑定一遍写在ajax的success成功之后的里面
例如,我这里有个ajax,在成功之后会执行一段代码,在代码的最后一段,我们再重新绑定 fancybox 即可
(也就是页面里面,在$(document).ready(function () {})里面有一个 fancybox的绑定给原来的页面使用,而新的ajax出来的数据,就写在ajax的success成功之后的里面即可,这个时候就不用再写 $(document).ready(function () {}) 了)
$("a.showpic").fancybox({
width: 602,
height: 421,
autoScale: false,
transitionIn: 'none',
transitionOut: 'none',
type: 'iframe',
padding: 0,
margin: 0,
hideOnOverlayClick: false, /*如果不希望点击遮罩层或者是窗口其他的地方就能关闭, 那么这里就设置为false*/
showCloseButton: false /*设置右上角的关闭按钮为关闭状态*/
});
把上面的重新绑定事件, 放到下面的图里面的ajax里面的 success里面,就相当于是重新绑定了新出来的.showpic这个类的fancybox事件了

如果是fanxybox是在 UpdatePanel失效呢?参看 http://blog.csdn.net/eiwing/article/details/7090536
如果是 用jquery.fancybox时出现TypeError: loading is undefined 错误:参看http://egomu.com/development/40/
$("#fancybox-tmp").empty();//清除id等于fancybox-tmp下面的子元素
$("#fancybox-loading").empty();//清除id等于fancybox-loading下面的子元素
$("#fancybox-overlay").empty();//清除id等于fancybox-overlay下面的子元素
$("#fancybox-wrap").empty();//清除id等于fancybox-wrap下面的子元素
$("#fancybox-tmp").remove();//删除id等于fancybox-tmp元素
$("#fancybox-loading").remove();//删除id等于fancybox-loading元素
$("#fancybox-overlay").remove();//删除id等于fancybox-overlay元素
$("#fancybox-wrap").remove();//删除id等于fancybox-wrap元素
据说还有一种叫做 live方法 的方法,我没有用过,可以参考 jquery的 api 搜索
也可以看看这里
<script type="text/javascript">
<!--
jQuery(document).ready(function(){
jQuery(".brand li img").live('click',function(){ jQuery(this).parents("li").find("ul").slideToggle();
});
});
-->
</script>
fancybox 无效 失效 直接打开页面, ajax 之后 fancybox对更新的数据无效,Jquery失效 无效的更多相关文章
- 使用 jQuery Ajax 在页面滚动时从服务器加载数据
简介 文本将演示怎么在滚动滚动条时从服务器端下载数据.用AJAX技术从服务器端加载数据有助于改善任何web应用的性能表现,因为在打开页面时,只有一屏的数据从服务器端加载了,需要更多的数据时,可以随着用 ...
- 【转】iframe和父页,window.open打开页面之间的引用
[转]iframe和父页,window.open打开页面之间的引用 iframe和父页,window.open打开页面和被打开页面之间的关系可以通过下面的对象获取到 1)通过iframe加载的,在if ...
- window.history.pushState与ajax实现无刷新更新页面url
ajax能无刷新更新数据,但是不能更新url HTML5的新API: window.history.pushState, window.history.replaceState 用户操作history ...
- HTML:模拟链接被按下,在新标签页打开页面,不使用window.open(可能被拦截)
当按下一个按钮时,想打开一个新的标签页,可以使用window.open去实现但是因为使用window.open在新窗口或者新标签页中打开页面,有可能被浏览器给拦截.为了解决这个问题,可以模拟链接被按下 ...
- C# winform调用浏览器打开页面方法分享,希望对大家有帮助
在很多客户端程序中我们都需要调用浏览器打开网页,这里分享一个可以在我winform程序调用浏览器的方法,测试通过了. 声明:这个方法是上万个用户测试通过的,不是我没有测试通过就拿出来分享,那个是自己搬 ...
- 如何在Flash中新窗口打开页面而不被拦截
Flash的wmode必须是opaque或者transparent,允许Flash访问页面脚本.另外跳转必须是点击直接触发. 代码:ExternalInterface.call("windo ...
- (转载)HTML:模拟链接被按下,在新标签页打开页面,不使用window.open(可能被拦截)
原文: http://www.cppblog.com/biao/archive/2010/08/21/124196.html 当按下一个按钮时,想打开一个新的标签页,可以使用window.open去实 ...
- Easyui datebox控件打开页面就验证解决方法
问题描述: datebox时间控件有些场景下默认值需要为空,但是为空的情况下打开页面会自动验证,十分影响美观. 实现原理: <input class="easyui-databox&q ...
- 根据打开页面加载不同Js
根据打开页面加载不同Js //根据打开页面加载不同JS $(document).ready(function(){ var href = document.URL; /*获取当前页面的URL*/ if ...
随机推荐
- js异步加载 defer和async 比较
网上说法很多,很少一句话能总结清楚的,终于找到两句一针见血的描述,很到位: 相同点:都不阻塞DOM解析 defer :顺序:保证先后顺序.解析:HTML 解析器遇到它们时,不阻塞(脚本将被异步下载) ...
- cf 363A B C
A水题 ~~ 注意0输出 /************************************************************************* > Author ...
- linux源代码阅读笔记 高速缓冲区管理
高速缓冲区是文件系统访问块设备中数据的必经要道,为了访问文件系统等块设备上的数据,内核可以每次都访问块设备,进行读写操作. 为了提高系统性能,内核在内存中开辟一个高速数据缓冲区.在Linux内核中,高 ...
- 中小企业 IT 运维福利:快速构建 on-call 机制
大多 IT 运营支撑同学都有过深夜业务应用突然故障的经历,监控系统准确告警,但是白天筋疲力尽的运维同学在熟睡中,经常会遗漏告警提醒:往往是接到主管电话(用户投诉了)才处理.有什么办法解决该问题呢?大多 ...
- java 追加写入代码一例
最近最项目参数化的时候用到,场景是这样的,需要测试A和B两个接口,其中B接口传入的参数必须是传递给A接口过的,所以整理一个思路就是: 1. 正常调用A接口,但是将传递给A接口的参数保存到文本里,此处要 ...
- JVM基础学习
public class TestJVM { // 运行时数据区[方法区.堆.程序计数器.虚拟机栈.本地方法栈] private static int _1M = 1024 * 1024; publi ...
- 为什么需要用到序列化?为什么HttpSession中对象要序列化
简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比你自己好的保存对象状态的 ...
- IOS中实现图片点击全屏预览
//// ViewController.m// XWZoomImageView//// Created by xiao on 15/11/13.// Copyright © 2015年 xiao. A ...
- Xamarin.Android 入门之:Android的生命周期
一.前言 活动是Android应用程序的基本构建块,他们可以在许多不同的状态存在.当你把一个Android程序置于后台,过一段时间再打开发现之前的数据还存在. 二.活动状态 下面的图表说明了一个活动可 ...
- PCB走线角度选择 — PCB Layout 跳坑指南
现在但凡打开SoC原厂的PCB Layout Guide,都会提及到高速信号的走线的拐角角度问题,都会说高速信号不要以直角走线,要以45度角走线,并且会说走圆弧会比45度拐角更好.狮屎是不是这样?PC ...