如何防止滚动事件执行更多次?

时间:2015-03-25 08:45:45

标签: javascript jquery ajax

我正在实现一项新功能,让我的页面支持无限滚动AJAX show。但是,当我下拉页面滚动条时,有时会发出相同的请求。

这意味着执行alert(nextPage)方法并显示相同的结果。我已经添加了event.stopPropagation()代码,但它没有解决问题。我该如何解决?

(function(window, undefined) {
   var app = {
      event: {
         add: function(obj, type, handle) {
            try {
               obj.addEventListener(type, handle, false);
            } catch (e) {
               try {
                  obj.attachEvent('on' + type, handle);
               } catch (e) {
                  obj['on' + type] = handle;
               }
            }
         }

      },
      scroll: function(id, url) {
         $.get(url, function(html) {
            $("#" + id).append(html)
         });
      }
   }
})(window);

HTML

<script>
   $(function() {
      app.event.add(window, "scroll", function(event) {
         var nextPage = getNextPage();
         alert(nextPage);
         app.scroll("productTable", '?page=' + nextPage);
         if (event && event.stopPropagation) {
            event.stopPropagation();
         } else {
            window.event.cancelBubble = true;
         }

      });
   });
</script>

0 个答案:

没有答案