我一直在尝试使用es6类,试图设置一个简单的鼠标类。
addEventListener
可以工作,但是出于某种原因,我无法使用removeEventListener
将其移除。我猜这与上下文绑定有关,但我无法弄清如何解决这个问题。
'use strict'
class Mouser {
constructor() {
this.counter = 0
this.clicked = function (event) {
this.counter++
console.log('clicks:', this.counter)
if (this.counter >= 10) this.remove()
}
window.addEventListener('click', this.clicked.bind(this))
}
remove() {
console.log('Removing click listener') // this line runs ..
window.removeEventListener('click', this.clicked.bind(this))
}
}
var mouse = new Mouser()