Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关闭滚动侦听器_Javascript_Jquery - Fatal编程技术网

Javascript 关闭滚动侦听器

Javascript 关闭滚动侦听器,javascript,jquery,Javascript,Jquery,我初始化无限滚动,然后在滚动时调用loadMore,在这个函数中,我尝试关闭无限滚动,但没有效果-我哪里出错了?您需要保留“绑定”函数的引用 为什么我需要为它创建一个var,为什么我不能只引用方法本身? p.initInfiniteScroll = function(){ $(window).on('scroll', this.infiniteScroll.bind(this)); }; p.terminateInfiniteScroll = function(){ $(win

我初始化无限滚动,然后在滚动时调用loadMore,在这个函数中,我尝试关闭无限滚动,但没有效果-我哪里出错了?

您需要保留“绑定”函数的引用


为什么我需要为它创建一个var,为什么我不能只引用方法本身?
p.initInfiniteScroll = function(){
    $(window).on('scroll', this.infiniteScroll.bind(this));
};

p.terminateInfiniteScroll = function(){
    $(window).off('scroll', this.infiniteScroll);
};

p.infiniteScroll = function(){

    if($(window).scrollTop() == $(document).height() - $(window).height()){

        this.loadMore();
    }
};

p.loadMore = function(){

    console.log('load more');
    this.terminateInfiniteScroll();

};
var myFunc = this.infiniteScroll.bind(this);

p.initInfiniteScroll = function(){
    $(window).on('scroll', myFunc);
};

p.terminateInfiniteScroll = function(){
    $(window).off('scroll', myFunc);
};