20 lines
726 B
TypeScript
Executable File
20 lines
726 B
TypeScript
Executable File
let subscriptions: { element: Element | Document; event: any; eventHandler: EventListenerOrEventListenerObject }[] = [];
|
|
|
|
export function cleanSubscriptions(): void {
|
|
console.log('🚀 ~ cleanSubscriptions ~ sub:', subscriptions);
|
|
for (const sub of subscriptions) {
|
|
const el = sub.element;
|
|
const eventHandler = sub.eventHandler;
|
|
if (el) {
|
|
el.removeEventListener(sub.event, eventHandler);
|
|
}
|
|
}
|
|
subscriptions = [];
|
|
}
|
|
|
|
export function addSubscription(element: Element | Document, event: any, eventHandler: EventListenerOrEventListenerObject): void {
|
|
if (!element) return;
|
|
subscriptions.push({ element, event, eventHandler });
|
|
element.addEventListener(event, eventHandler);
|
|
}
|