0

嗨,我使用 codeigniter 并构建了 ajax 无限滚动。并且在该 ajax 滚动条上有评论表单,我担心的是当页面加载时,会加载 10 个帖子,如果向下滚动,则会加载另外 10 个帖子,现在所有 20 个帖子都将包含自己的评论表单。我使用 ajax 发表评论。因此,对于在页面加载评论表单工作时加载的第 10 个帖子,但对于 ajax 加载的帖子评论表单,ajax 帖子不起作用。下面是我使用的代码。

<script type="text/javascript">
$('.post_comment').click(function() {
  var form_data = {
    csrfsecurity: $(this).parent().find("input[name=csrfsecurity]").val(),
    post_text: $(this).parent().find('.comment_text').val()    
  };

  $.ajax({
    url: "<?php echo site_url('/comment'); ?>",
    type: 'POST',
    data: form_data,
    success: function(response){
      $(".home_user_feeds").html("markUpCreatedUsingResponseFromServer");
    }
  });
  return false;
});
</script>

向下滚动页面时,以下表单将加载 10 次

<form action="http://localhost/comment" method="post" accept-charset="utf-8">
<input type="text" name="comment_text" value="" id="comment_text" size="35" class="comment_text">
<input type="submit" id="post_comment" name="post_comment" value="submit comment" class="post_comment" >
</form>
4

1 回答 1

0

我的猜测是您没有将事件侦听器添加到您正在 AJAX 处理的 HTML 中。您的前十个工作是因为您在文档加载时为原始 10 个添加事件侦听器。

您将需要再次运行 jquery 代码,将事件处理程序添加到 DOM 元素(类似于 post_comment 类的元素)单击事件。

于 2013-03-04T19:31:51.040 回答