2012-12-06 41 views
0

我在页面上使用colorbox jQuery插件和AJAX进行异步页面加载。使用AJAX抽取数据后重新加载jQuery Colorbox

当我用AJAX从.php文件中拉出一些东西后,那个.php文件的内容不适用于colorbox。

$('a.boxed').colorbox({rel: 'Galleria'}); 
$('a.iframe').colorbox({iframe: true, width: "80%", height: "80%"}); 

这是唯一的两行,我有我的.js的文件颜色框(我正确导入插件,因为它适用于不从AJAX加载其他元素)。我想创造一次点击的图像,使用该代码打开了我一个颜色框的iframe:

<a href="MYURL" class="iframe"><img src="IMGURL"/></a> 

当我点击我的网页上的按钮,我用下面的代码与AJAX重新加载:

功能SHOWPAGE (页){ var xmlhttp = new XMLHttpRequest(); //克里奥variabile的XMLHttpRequest的每1L caricamento asincrono CON AJAX

xmlhttp.onreadystatechange = function() { 
    document.getElementById("post-title").innerHTML = page; 
    document.getElementById("post-content").innerHTML = xmlhttp.responseText; 
} 

xmlhttp.open("GET", page + ".php", true); 
xmlhttp.send(); 

}

我看周围,我应该用活()方法,但我发现,使用jQuery已被弃用,现在是上()方法..多么混乱!有人能帮助我吗?

+0

你不执行'$('一个。 iframe')。colorbox({iframe:true,width:“80%”,height:“80%”});'在新内容加载之前? –

回答

1

试试这个:

function showPage(page) { 
    var xmlhttp = new XMLHttpRequest(); // Creo variabile XMLHttpRequest per il caricamento asincrono con AJAX 

    xmlhttp.onreadystatechange = function() { 
     document.getElementById("post-title").innerHTML = page; 
     document.getElementById("post-content").innerHTML = xmlhttp.responseText; 
     $('a.iframe').colorbox({iframe: true, width: "80%", height: "80%"}); // <-- add this line 
    } 

    xmlhttp.open("GET", page + ".php", true); 
    xmlhttp.send(); 
} 

如果您加载新的内容前添加事件处理程序,换新不会“接收”事件

+0

作品!非常感谢! – wiredmark

相关问题