0

嘿..我有一个加载更多新闻的功能。由于 jquery-1.9.1.min.js 这个函数工作正常,但现在我必须用 .on() 方法替换它,我仍然无法让它工作。

这是代码:

  // Load more news feed
  $(function(){
      var page = 1;
      $.ajax({
          type: "POST",
          url: "data.php",
          data: "page=profile&get_news_feed=true",
          dataType:'json',
          success: function(data){
              $("#the_news_feed").html(data.news_feed);
              if(page <= data.total_pages){
                  $("#the_news_feed").after('<button id="load_more_feed" class="btn btn-primary btn-large" style="width: 100%;margin-top:10px">Load More</button>');
              }
          }
      });
      $("#load_more_feed").live("click", function(){
          var next = page+=1;
          $.ajax({
              type: "POST",
              url: "data.php",
              data: "page=profile&get_news_feed=true&page_num="+next,
              dataType: "json",
              success: function(data){
                  $("#the_news_feed").append(data.news_feed);
                  if(next == data.total_pages){
                      $("#load_more_feed").remove();
                  } else {
                      $("#load_more_feed").html("Load More");
                  }
              },
              beforeSend: function(){
                  $("#load_more_feed").html("Loading...");
              }
          });
      });
  });

我试图替换:

$("#load_more_feed").live("click", function() 

$("#the_news_feed").on("click", "load_more_feed", function()

但我仍然无法让它工作。我究竟做错了什么?谢谢!

我用 id="news_feed" 显示这个函数,所以这就是问题所在

<div class="tab-pane fade" id="news_feed">
  <div id="the_news_feed"></div>
</div>

最终解决方案是$("#news_feed").on("click", "load_more_feed", function()

谢谢你们!

4

1 回答 1

4

实际上,您缺少#id 选择器中的 。

$("#the_news_feed").on("click", "load_more_feed", function()

一定是

$("#the_news_feed").on("click", "#load_more_feed", function()

假设#the_news_feed是 的父级#load_more_feed

编辑 :

从您的代码中,您将在 之后#loadmore附加此按钮,因此这显然不起作用。尝试将其更改为: #the_news_feed

$(document).on("click", "#load_more_feed", function()

这会将点击绑定到document永远存在的 。或者,您可以将其绑定到#load_more_feed最近的静态父级,例如在您加载页面时存在而不是动态创建的元素。

于 2013-08-17T13:53:15.960 回答