This repository has been archived on 2026-02-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
hammer/src/classes/EventManager.ts
2025-08-07 20:20:36 +02:00

17 lines
553 B
TypeScript

export class EventsManager {
events: { target: EventTarget, type: string, handler: EventListenerOrEventListenerObject }[] = [];
addEvent<K extends keyof DocumentEventMap>(target: EventTarget, type: K, handler: (e: DocumentEventMap[K]) => void) {
// @ts-expect-error
this.events.push({ target, type, handler });
// @ts-expect-error
target.addEventListener(type, handler);
}
destroy() {
this.events.forEach((e) => {
e.target.removeEventListener(e.type, e.handler);
});
}
}