在将新元素添加到HTML页面后,我正试图让prettyPhoto或其他一些jquery插件工作:
具体我有这个:
$(document).ready(function() {
$(window).scroll(function() {
if($(window).scroll) {
$('div#loadMoreComments').show();
$.ajax({
type : "POST",
url : "getvariables.php",
dataType: "json",
data : { webid: $(".posts:last").attr('id') }
}).done(function( msg ) {
jQuery.each(msg , function(index, value){
$("#posts").append(value);
});
// $("#posts").append(msg);
$('div#loadmore').hide();
});
}
});
});
然后我有类似的东西必须触发弹出窗口
<p><a href="#inline-1" rel="ibox">Trigger popup.</a></p>
<div id="inline-1" style="display: none;">
Content to show up after the link is triggered
</div>
对此感谢任何帮助。感谢。
答案 0 :(得分:1)
你需要在追加后更新prettyPhoto的钩子。尝试将prettyPhoto的初始化放入函数中。然后从文档就绪函数内部调用该函数,并在附加更多项目时再次调用该函数。
类似的东西:
function initComments(){
$("a[rel^='comments']").prettyPhoto();
}
然后在你的AJAX电话之后:
initComments();
或者,使用jquery的ajaxStop()函数在ajax调用完成后更新钩子。
jQuery.ajaxStop(function(){
initComments();
});