Jquery Fancybox 回发后不工作
-
16-09-2019 - |
题
我在 asp.net 页面上有一个 Fancybox(或更准确地说)多个精美的框。
我的 花式盒子 (jquery 插件)工作正常,直到页面上发生回发,然后它拒绝工作。
有什么想法吗?有人经历过类似的行为吗?
更新 :一些代码..
我有一个数据绑定中继器,每个重复项目上都有一个 fancybox。
它们由(中继器外部)实例化
$(document).ready(function() {
$("a.watchvideo").fancybox({
'overlayShow': false,
'frameWidth' : 480,
'frameHeight' : 400
});
});
锚标记重复..
href="#watchvideo_<%#Eval("VideoId")%>"
就像一个 div 一样
id="watchvideo_<%#Eval("VideoId") %>
作为实例化 Flash 电影的脚本元素
是的,VideoIds 正在输出到页面。
更新 :不是闪光灯的问题..
这不是闪光灯的问题,因为我在没有闪光灯的情况下尝试过,它甚至不会弹出一个带有简单消息的窗口。
更新 :我想知道是否是更新面板。
Ajax 更新后重新绑定 jQuery 事件 (updatepanel)
——李
解决方案 3
这是更新面板所描述
这里.. 重新绑定事件jQuery中的Ajax更新后(的UpdatePanel)
如所建议的我简单地更换
$(document).ready(function() {
$("a.watchvideo").fancybox({
'overlayShow': false,
'frameWidth' : 480,
'frameHeight' : 400
});
});
与
function pageLoad(sender, args)
{
if(args.get_isPartialLoad())
{
$("a.watchvideo").fancybox({
'overlayShow': false,
'frameWidth' : 480,
'frameHeight' : 400
});
}
}
和它的工作!
- 李
其他提示
的问题是在使用$(document).ready()
到的fancybox结合。此代码只执行一次,最初加载页面时。如果你想在每一个回传,同步或异步的功能的fancybox,更换$(document).ready()
的pageLoad(sender, args)
。即
function pageLoad(sender, args) {
$("a.watchvideo").fancybox({
'overlayShow': false,
'frameWidth' : 480,
'frameHeight' : 400
});
}
难道实例化代码被插入在一段代码,其是不是一个回发后运行?
这可能会帮助别人,但附加的fancybox它的代码到
元素......这是一切优秀和良好,但驻留OUTSIDE的asp.net我与分页网格视图类似的问题。网格的第一页被启动的fancybox而remaing没有。
我认为这可能与在UpdatePanel一个问题,它仅刷新的屏幕的一部分。
我解决这个替换的问题:
<script>
$(document).ready(function () {
$("a.small").fancybox();
});
</script>
与此:
<script>
function pageLoad(sender, args) {
$("a.small").fancybox();
};
</script>