Jquery Accordion没有在ajax调用上触发

我将源代码从输出页面复制到下面的文件中,这样你就可以看到我在说什么:

http://playerspace.com/mysource.html

我们正在关注的是最近的活动ajax(由于某种原因,它不适用于此输出版本)。 我希望只看代码就足以诊断它了。

无论如何,问题是“评论”链接,这是一种手风琴,揭示了一个不断扩大的文本区域。 在时间轴中接下来的5个项目的ajax加载之后,评论链接(部分或全部)完全停止响应。

我尝试将手风琴代码直接添加到ajax调用中,但仍然无法一致地执行。

$(document).on("click",'.siteusemore',function() { var ID = $(this).attr("id"); var myscript = window.siteusemore_script || null; if(ID) { $("#siteusemore"+ID).html(''); $.ajax({ type: "POST", url: myscript, data: "lastmsg="+ ID, cache: false, success: function(html){ $("ol#siteuseupdates").append(html); $("#siteusemore"+ID).remove(); $('.accordionContent,.accordionContent-settings').hide(); $('.accordionContent,.accordionContent-manuallyadd').hide(); $('.accordion-comments').live("click",function(event){ var target=$(this).attr('href'); if($(target).css('display')=='none') { $(target).show(); $(this).text('Hide Comments'); } else { $(target).hide(); $(this).text('Comments'); } return false; }); } }); } else { $(".siteusemorebox").html('The End'); $('.accordionContent,.accordionContent-settings').hide(); $('.accordionContent,.accordionContent-manuallyadd').hide(); $('.accordion-comments').live("click",function(event){ var target=$(this).attr('href'); if($(target).css('display')=='none') { $(target).show(); $(this).text('Hide Comments'); } else { $(target).hide(); $(this).text('Comments'); } return false; }); } return false; }); 

我刚刚开始使用ajax,我可以在这里使用帮助。 我想我的问题是获取在我的site.js文件中执行的代码(在页面底部找到)与每个ajax加载一致地触发?

此外,我不知道这是否有帮助,但问题似乎发生在每一个其他的ajax调用,这很奇怪。

我想你需要重启手风琴。 将此代码添加到您的成功ajax调用回调中:

 $("#accordion").accordion("destroy"); $("#accordion").accordion({collapsible: true,header: "h3",active: false}); 

这应该在正确的div上应用手风琴,请用“h3”替换你的标题div。