Ajax和facebox问题

时间:2010-08-05 07:08:13

标签: javascript jquery ajax lightbox 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仅包含<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)'

1 个答案:

答案 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();
  }

有时你只需要另外一双眼睛来解决问题。