Es6 sınıfları ile uğraştım ve basit bir fare sınıfı oluşturmayı denedim.javascript removeEventListener bir sınıf içinde çalışmıyor
addEventListener
çalışır, ancak bazı nedenlerle onları kaldıramıyorum removeEventListener
. Sanırım bunun bağlama bağlama ile ilgili bir şey var, ama bunu nasıl çözeceğimi anlayamıyorum.
'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()
ahh sayesinde:
İşte bunu tek yolu bu! Bağlama beni gerçekten rahatsız ediyordu .. – peonicles
Teşekkürler! React'u kullanıyordum, bu beni birçok yerde bağlama (bu) kullanmaya zorluyor ve bu beni gerçekten şaşırttı. – DougieHauser
Teşekkür ederiz! –