对于加载了Ajax的div,不会触发Javascript函数

时间:2013-06-21 06:12:12

标签: javascript jquery ajax infinite-scroll

我正在使用Infinite Scroll插件进行分页。由于div#stream加载了Ajax,因此此函数$('#stream').infinitescroll未被触发。

$(function() {
  $('#stream').infinitescroll({
    navSelector     : ".paginate:last",
    nextSelector    : "a.paginate:last",
    dataType        : 'json',
    appendCallback  : false,
    path: "someurl"
  }, function(json, opts){
    alert("json Fetched..")
  });
});

任何想法如何使它工作?

1 个答案:

答案 0 :(得分:1)

  

当div#stream加载了Ajax时,这个函数$('#stream')。infinitescroll没有被触发。

确保在文档中加载div#stream后调用.infinitescroll({ ..

$.ajax({
 ...
success:function(){
   //your codes which appends #stream 
   $('#stream').infinitescroll({
      navSelector     : ".paginate:last",
      nextSelector    : "a.paginate:last",
      dataType        : 'json',
      appendCallback  : false,
      path: "someurl"
    }, function(json, opts){
      alert("json Fetched..")
    });
  }
});

在动态添加元素时,需要再次调用方法。在document.ready中调用它将没有任何帮助,因为当文档准备好时,调用此方法时文档中可能不存在#stream div