В качестве примера у меня есть два обработчика событий. Первому функция
test передается по ссылке без каких-либо аргументов:
const box = document.querySelector('.box');
const area = document.querySelector('.in__box')
area.addEventListener('mousemove',test);
Второй уже вызывает внутри себя функцию
move и передает в качестве аргумента объект события:
box.addEventListener('mousemove',(e) => {
move(e)
})
Сами же функции выводят допустим что-то в консоль лог и
убирают обработчик событий:
function move (e){
area.style.transition = 'none'
area.style.top = e.clientY-50+'px'
area.style.left = e.clientX-50+'px'
console.log('move1');
box.removeEventListener('mousemove',move)
}
function test(){
console.log('move2');
area.removeEventListener('mousemove',test)
}
Когда я передаю функцию по ссылке все отрабатывает как надо, но если вызывать ее, то обработчик не убирается. Как я могу передать функции событие и потом внутри нее убрать обработчик?