Я хочу вызвать функцию класса из класса, который я ранее прикреплял к кнопочному объекту, который находится внутри класса (работает следующий код, но область действия callMyClassFunction находится на кнопке и Я хочу, чтобы это было карусель):scope обработчик события по ссылке в javascript
//Examplecode 1
Carousel.prototype.addEventListeners = function(){
this.button.on('click', this.callMyClassFunction);
}
Carousel.prototype.callMyClassFunction = function(){
console.log(this);
}
Если я связать функцию, как, что он работает (сфера это экземпляр класса):
//Examplecode 2
Carousel.prototype.addEventListeners = function(){
this.button.on('click', function(){
this.callMyClassFunction()
}).bind(this);
}
Но я бы скорее хочу добавьте click-eventlistener с ссылкой (например, в примере 1), так как я хочу c все removeListener в еще одной функции:
//Examplecode 3
Carousel.prototype.removeEventListeners = function(condition){
if(condition){
this.button.removeListener('click', this.callMyClassFunction);
}
}
Любая помощь очень ценится!
спасибо большое, это работает отлично. Но что касается удаления слушателя, то я предпочитаю метод Берги. – doemsche
Yup, это тоже работает, если вы не нуждаетесь в таком методе без привязки (которого вы часто не используете). –