class Scroller {
public listenerWrap = null;
public elem = document.querySelector('.elem');
addListener() {
this.listener = this.listener.bind(this);
this.elem.addEventListener('scroll', this.listenerWrap);
}
listener() {
console.log('scroll', this);
}
removeListener() {
this.elem.removeEventListener('scroll', this.listenerWrap);
}
}
var s = new Scroller();
s.addListener();
s.removeListener();
这是我正在使用的代码的简化版本。我想添加和删除需要
this
绑定。所以我要把
绑定的
侦听器函数
listenerWrap
变量,以便添加和删除完全相同的函数。
问题是事件侦听器没有被删除,我仍然看到
console.log
滚动元素时输出。