【发布时间】:2014-03-03 12:11:14
【问题描述】:
我有一门课,我通过以下方式调用:
this.infiniteScroll = new gd.InfiniteScroll();
在这个类中,它检查用户是否在窗口底部。
稍后在我的脚本中,我不再使用这个无限滚动脚本(因为所有数据都已加载)。我怎样才能删除它?还是阻止它检查用户是否在窗口底部?
这是无限滚动类:
(function(){
"use strict";
var InfiniteScroll = function() {
this.init();
};
var p = InfiniteScroll.prototype = gd.BaseClass.extend(gd.BaseClass);
p.BaseClass_init = p.init;
/*
* Public properties
*/
p.canLoad = true;
p.cog;
/*
* Public methods
*/
p.init = function() {
// Super
this.BaseClass_init();
// Init
this.ready();
};
p.ready = function() {
this._initInfiniteScroll();
};
p.loadRequested = function(){
p.canLoad = false;
console.log('show cog');
$.event.trigger('loadRequested');
}
p.loadComplete = function(){
p.canLoad = true;
console.log('hide cog');
console.log(p.canLoad);
}
p._initInfiniteScroll = function() {
$(window).scroll(function(){
console.log('scroll!');
if(($(window).scrollTop() == ($(document).height() - $(window).height())) && p.canLoad){
p.loadRequested();
}
});
}
gd.InfiniteScroll = InfiniteScroll;
}(window));
【问题讨论】:
-
答案将取决于
gd.InfiniteScroll类是否有能力将自己从页面中分离出来。 -
库支持吗?检查 api。
-
@Yuck 不是远程复制
-
@Alnitak 他正在对一个对象进行新的引用,并希望稍后将其删除。听起来一模一样。
-
不,他正在创建一个对象,然后它会自动将自身附加到 DOM。 “删除”它将要求该对象删除其事件处理程序以及对它的任何其他引用,此时它将被 GCed。
标签: javascript jquery