Ajax 和 Facebox 问题
我有一个使用ajax jquery 和facebox 的网站。 此处演示:http://temp.nevergone.eu/facebox.php 在 div“#content”内有一些指向其他页面的链接,可以使用 Facebox 正常打开。
如果我使用 ajax jquery 重新加载该 div 的内容,那么链接将不再使用 Facebox 效果弹出。
我尝试创建一个函数,每当我调用更改 div #content 内容的函数时都会调用该函数,但没有成功。我知道每次我向包含 rel="lightbox" 的页面加载新内容时,我都必须重新初始化/重新加载 Facebox 到 DOM,但我不知道如何实现。我在里面调用它 如果我使用 jquery HTML 函数它可以工作,但是如果我使用 load 函数它就不再工作了。
function updatec() {
$("#content").load('sometext.html');
reinit();
}
function reinit() {
$('a[rel*=facebox]').facebox() ;
}
sometext.html 仅包含CLICK ME I DONT WORK(如果单击它,则无法使用 Facebox 打开,它将像普通链接一样打开)'
I have a website that uses ajax jquery and facebox.
Demo here : http://temp.nevergone.eu/facebox.php
Inside the div "#content" there are some links to other pages that open fine using facebox.
If I reload the content of that div using ajax jquery , then the links wont popup using facebox effect anymore.
I tried to create a function that I would call whenever I call the function that changes the contents of div #content , but no luck . I know that I must reinit/reload the facebox to DOM everytime I load something new to the page that contains rel="lightbox" ,but I cant figure it out how.I call this inside
It works if I use jquery HTML function , but if I use load function it wont work anymore.
function updatec() {
$("#content").load('sometext.html');
reinit();
}
function reinit() {
$('a[rel*=facebox]').facebox() ;
}
sometext.html contains only<a href="http://www.google.com" rel="facebox">CLICK ME I DONT WORK</a>(if you click it it wont open using facebox,it will open like a normal link)'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想我明白你的问题了。您在插入内容之前正在重新初始化您的 Facebox 脚本。
您当前拥有的是这样的:
您需要将 reinit 函数移到 html 插入下方,如下所示:
有时您只需要另一双眼睛来关注问题。
I think I got your problem. you are reinitializing your facebox script before you insert the content.
What you currently have is this:
You need to move your reinit function below the html insertion like so:
Sometimes you just need another pair of eyes on a problem.