2011-06-26 72 views
0

我有一個網站,通過jQuery加載內容。加載facebox所需的所有javascript和css文件時。它在最初的頁面上放置了一個鏈接,它工作正常。但是,當更改一個元素的「innerHTML」時,相同的鏈接不起作用。當通過jQuery添加內容時,Facebox不起作用?

而且我甚至嘗試將javascript的& css文件放在innerHTML中,它仍然不起作用!它加載爲一個新的頁面。

請幫忙! 由於

編輯1:

的index.php

<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script> 
<script type="text/javascript" src="http://justtwobros.com/actions.js"></script> 
<link href="src/facebox.css" media="screen" rel="stylesheet" type="text/css" /> 
<script src="lib/jquery.js" type="text/javascript"></script> 
<script src="src/facebox.js" type="text/javascript"></script> 

<script type="text/javascript"> 
jQuery(document).ready(function($) { 
    $('a[rel*=facebox]').facebox({ 
    loadingImage : 'src/loading.gif', 
    closeImage : 'src/closelabel.png' 
    }) 
}) 
</script> 

<a href="file.html" rel="facebox">text</a> (this link is the one that works) 

<script> 
    showAllWorkOnLoad(); 
</script> 

actions.js

function showAllWorkOnLoad() { 
var thePostData = "filter=allwork"; 
$.ajax({ 
    type: "POST", 
    url: "http://justtwobros.com/get_work.php", 
    data: thePostData, 
    success: function(theRetrievedData) { 
     document.getElementById('content').innerHTML = theRetrievedData; 
     $("#content").fadeIn(20); 
     focusButtonAllWork(); 

     var count = 0; 
     $("#content").find('.work_thumbnail_wrapper').each(function() { 
      count++; 
      var timeWait = (count * 100) + 500; 
      var theId = $(this).attr('id'); 
      var theIdDone = "#" + theId; 
      setTimeout(function(){$(theIdDone).fadeIn(300);},timeWait); 
     }); 

    } 
}); 
} 

get_work.php

<a href="file.html" rel="facebox">text</a> (this link that doesn't work) 
+1

也許一個更詳細的例子...你給的東西很普通。 – Frankie

+0

剛剛貼出了一些代碼。 – iosfreak

回答

3

它不起作用,因爲該鏈接沒有附加監聽器。您可以在ajax調用後添加此代碼(成功後,將鏈接插入到文檔中)後確認這是您的問題。

$('a[rel*=facebox]').facebox({ 
    loadingImage : 'src/loading.gif', 
    closeImage : 'src/closelabel.png' 
    }) 
+0

做到了。謝謝。 – iosfreak

相關問題