diff --git a/src/mantine-core/src/Modal/Modal.tsx b/src/mantine-core/src/Modal/Modal.tsx index bc0afc40d45..c9acafcac6e 100644 --- a/src/mantine-core/src/Modal/Modal.tsx +++ b/src/mantine-core/src/Modal/Modal.tsx @@ -208,14 +208,15 @@ export function Modal(props: ModalProps) { useFocusReturn({ opened, shouldReturnFocus: trapFocus && withFocusReturn }); const clickTarget = useRef(null); + useWindowEvent('mousedown', (e) => { clickTarget.current = e.target; }); const handleOutsideClick = () => { - if (clickTarget.current !== overlayRef.current) return; - - closeOnClickOutside && onClose(); + if (clickTarget.current === overlayRef.current) { + closeOnClickOutside && onClose(); + } }; return (