如何在无限滚动加载页面上执行Javascript

时间:2016-11-01 17:18:21

标签: jquery jquery-infinite-scroll

我正在处理产品详情页面,更多产品已加载infinite scroll 问题是当新页面加载时,当用户点击"添加到购物车"时,加载页面上的点击事件上的jQuery将不会执行。如果它加载了jquery load(),该脚本将起作用。但无限卷轴正在使用其他我不知道的东西。

$(document).ready(function() {
  jQuery_1_6_1('#mycontent').infinitescroll({
    navSelector: "#mynext:last",
    nextSelector: "#mynext:last",
    itemSelector: "#mycontent",
    debug: false,
    dataType: 'html',
    maxPage: <?php echo $pages_load;?>,
    path: function(index) {
        return "pages/index" + index + ".html";


      }
      // appendCallback : false, // USE FOR PREPENDING
  }, function(newElements, data, url) {

  });
});

1 个答案:

答案 0 :(得分:2)

从我的评论中:只需使用附加到文档的委托事件处理程序,在启动时加载一次,以处理click事件。它们仍将触发稍后加载的元素。

假设您添加到购物车按钮的类别为“addtocart”,您可以执行以下操作:

$(document).on('click', '.addtocart', function(){
   // handle click here
});

它通过委托监听祖先元素的事件(例如document),然后将jquery选择器应用于气泡链中的元素,然后将事件函数应用于导致事件

委派事件的结果是元素不需要在事件注册时存在,而只在事件时间存在。