Показать сообщение отдельно
  #1 (permalink)  
Старый 11.04.2021, 22:41
Аватар для fxobject
Кандидат Javascript-наук
Отправить личное сообщение для fxobject Посмотреть профиль Найти все сообщения от fxobject
 
Регистрация: 01.03.2021
Сообщений: 133

удаление с обработчика анонимную функцию
Приветствую!
Вот такое дело:
нужно поймать нажатие мыши:
делаю вот так:
this.deviceCase.addEventListener('mousedown', вот тут обработчик
беда в том, что хотелось бы в обработчике получить сразу this
поэтому вариант обертки - что то типа
callingClassMethod( method, parametr ){
let __this = this;
return function(){
let argumentArray = Array.prototype.slice.call( arguments,0 );
if ( !(parametr === undefined )) argumentArray.push(parametr);
__this[method].apply( __this,argumentArray );
}
}
все замечательно. залетаем в событие, this стоит на месте.
Но! в событии нужно удалить обработчик. И тут начинается пипец. Потому как функция безымянная.
можно конечно поставить в качестве обработчика функцию класса, но тогда на входе нужно колдовать с this, брать его хоть через data...
подскажите оптимальное решение! Что то в голову ничего не приходит. Ни какой хитрости......
Понимаю что безымянную нужно убирать, но как оптимально потом взять this??? Через data ну совсем отпад
Ответить с цитированием