2012-12-06 40 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

相關問題