将java脚本应用于加载ajax的内容

时间:2017-09-07 11:17:44

标签: javascript jquery ajax

我在Facebook中有一些页面的帖子。我在滚动上使用正常的ajax加载来加载每10个帖子。每个帖子都有一个注释框,里面装有表情符号。

表情符号脚本首先加载正常但在通过ajax调用自动加载后,表情符号脚本未应用于加载的内容。

textarea:

<textarea type="hidden" id="input-default '. $row['post_id'] . '" data-id="'. $row['post_id'] . '" class="input-default'.$row['post_id'].' form-control comment-text-box example4" placeholder="Comment..." style="width:100%;"></textarea>

使用

$(".example4").emojioneArea({ useSprite: false });

更多代码

$(document).on("scroll", function(e) {
  if (processing) return false;
  if ($(window).scrollTop() >= ($(document).height() - $(window).height()) * 0.5) {
    processing = true;
    $.ajax({
      type: "POST",
      url: "<?php echo base_url();?>index.php/user/travelconnect_new",
      data: {
        first: fst
      },
      success: function(response) {
        $("#news_feed").remove();
        $(".comment-text-box").val('');
        $(".comment-text-box").attr("placeholder", "Comment...");
        fst = +fst + +10;
        $('#app').append(response);
        processing = false;
      }
    });
  });
}
});

1 个答案:

答案 0 :(得分:0)

每次加载新内容时,都需要针对新内容运行.emojioneArea({ useSprite: false })命令。

如果您正在使用jQuery AJAX调用,您可以将它放在将它们放在页面上的相同回调中,或者使用Promise链使其成为后续步骤。

如果我们能够看到请求/ DOM更新循环的样子,我们可以提供更多细节。