удаление с обработчика анонимную функцию
Приветствую!
Вот такое дело:
нужно поймать нажатие мыши:
делаю вот так:
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 ну совсем отпад
|