Один из методов заключается в том, чтобы открыть всплывающий элемент, который покрывает весь экран (невидимый), и захватывать щелчки на этом элементе, чтобы закрыть оба всплывающих элемента. Вы также можете попробовать захватывать клики по тегу body
, и это должно отлавливать щелчки в любом месте за пределами div (или внутри div, а также, если события всплывают - возможно, вы захотите выполнить некоторое тестирование).
Иногда более простым способом является использование тайм-аута, например всплывающих меню CSS, которые исчезают, как только ваша мышь отключается от меню в течение пары секунд. Вы можете перехватить событие onmouseleave
, запустить таймер и, если, скажем, не будет onmouseenter
, скажем, двух секунд, скрыть всплывающий элемент div.
Надеюсь, это поможет!