Restore removeEventListener

This commit is contained in:
Siklos 2022-08-12 19:45:22 +02:00
parent cefeeb54c0
commit 9dcb703ec6
2 changed files with 17 additions and 1 deletions

View file

@ -42,12 +42,23 @@ const Editor: React.FunctionComponent<IEditorProps> = (props) => {
configuration: props.configuration
};
const funcs = new Map<string, () => void>();
for (const event of events) {
editorRef.current?.addEventListener(event.name, () => event.func(editorState));
const func = (): void => event.func(editorState);
editorRef.current?.addEventListener(event.name, func);
funcs.set(event.name, func);
}
return () => {
window.removeEventListener('keyup', onKeyUp);
for (const event of events) {
const func = funcs.get(event.name);
if (func === undefined) {
continue;
}
editorRef.current?.removeEventListener(event.name, func);
}
};
});

View file

@ -97,6 +97,11 @@ export const ElementsSidebar: React.FC<IElementsSidebarProps> = (props: IElement
);
return () => {
elementRef.current?.removeEventListener(
'contextmenu',
onContextMenu
);
window.removeEventListener(
'click',
onLeftClick