के अंदर काम नहीं कर रहा है मैं es6 कक्षाओं के साथ खेल रहा हूं, और एक साधारण माउस वर्ग स्थापित करने की कोशिश की।जावास्क्रिप्ट हटाने EventListener कक्षा
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()
आह धन्यवाद:
यहाँ ऐसा करने के लिए एक ही रास्ता है! बाध्यकारी वास्तव में मुझे परेशान कर रहा था .. – peonicles
धन्यवाद! मैं रिएक्ट का उपयोग कर रहा था, जो मुझे कई जगहों पर बांधने (इस) का उपयोग करने के लिए मजबूर करता है, और वास्तव में मुझे फेंक दिया। – DougieHauser
धन्यवाद धन्यवाद! –