조건에 따라 removeEventListener 를 사용해서 특정 이벤트를 지워야하는 작업이 필요한데
리스너함수에 반드시 인자를 넘겨줘야해서 익명함수로 작성해야합니다.
문제는 익명함수는 removeEventListener가 작동하지 않는다는 점인데요…
예를들어
addOrRemoveLisener(state: boolean, listener: any) {
if (!this.checkState(state)) {
this.el.removeEventListener('mousedown', listener);
return;
}
this.el.addEventListener('mousedown', listener);
}
move(state: boolean) { this.addOrRemoveLisener(state, (e)=> this.addMouseEvent(e,'move')); }
size(state: boolean) { this.addOrRemoveLisener(state, (e)=> this.addMouseEvent(e,'size')); }
예를 들어 이런 코드가 있다고 할때 this.addMouseEvent가 위 코드처럼 반드시 인자를 받아야되는 상황일땐 무조건 익명함수를 사용할 수 밖에 없는데 이런 경우엔 어떻게 해야하나요??
기명함수로 작성하면 인자를 넘길 수 없어서 문제입니다…