2011-06-26 40 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

相关问题