diff --git a/src-web/hooks/useClickOutside.ts b/src-web/hooks/useClickOutside.ts index 6a6ae51d..edf17b6c 100644 --- a/src-web/hooks/useClickOutside.ts +++ b/src-web/hooks/useClickOutside.ts @@ -29,10 +29,12 @@ export function useClickOutside( savedCallback.current(event); } }; - document.addEventListener('click', handler, { capture: true }); + // NOTE: We're using mousedown instead of click to handle some edge cases like when a context + // menu is open with the ctrl key. + document.addEventListener('mousedown', handler, { capture: true }); document.addEventListener('contextmenu', handler, { capture: true }); return () => { - document.removeEventListener('click', handler); + document.removeEventListener('mousedown', handler); document.removeEventListener('contextmenu', handler); }; }, [ignored, ref]);