我有一个使用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仅包含<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)'
答案 0 :(得分:0)
我想我遇到了你的问题。您在插入内容之前重新初始化facebox脚本。
你现在拥有的是:
function reinit() {
$('a[rel*=facebox]').facebox() ;
}
function updatec() {
reinit();
$("#content").html('<a href="http://www.google.com" rel="facebox">CLICK ME I DONT WORK</a>');
}
你需要将你的reinit函数移动到html插入之下,如下所示:
function updatec() {
$("#content").html('<a href="http://www.google.com" rel="facebox">CLICK ME I DONT WORK</a>');
reinit();
}
有时你只需要另外一双眼睛来解决问题。