Сделал простенькое модальное окно, но не получается его корректно закрыть. Оно закрывается, но закрывается при клике на любую часть, а по идее должно закрываться только при клике вне области контента, т.е. окно не должно закрываться при клике внутри области контента, а только в не его.
Подскажите пожалуйста где и что я упустил и как исправить логику работы закрытия окна?
Смысл модального окна в том, чтобы его было невозможно закрыть никаким способом кроме одного: клик в кнопку "ок"/"отмена". Классический пример модального окна - alert();
Суть модального окна в том, чтобы не позволить что то делать с остальной частью страницы, пока оно открыто (было бы странно смотреть видео, на которым висит окно обратного звонка). Кликнув в пустое пространство пользователь дает понять, что он закончил работу с модальным окном.
Neyury: Ситуация: я нервный пользователь и постоянно непроизвольно кликаю мышкой по странице, то там то сям, вы мне открыли окно, а я в этот момент кликнул - вся ваша хвалёная "модальность" превратилась в тыкву. Тяжело у нас в стране с UX...
GreatRash: Вы нервный пользователь, а я нервничаю когда на экране появляется модальное окно, вызванное мной и вдруг, осознав, что это окно мне не нужно, я начинаю искать кнопку закрытия окна, которая может быть размещена то там, то сям. Мне спокойнее кликнуть курсором в хорошо знакомое затемненное поле, чтобы окно закрылось.
Я бы предложил не сделать подложку внутри modal , но на одном уровне с content . Т.е. как раз затемнённую область сделать подложкой. И ловить клики на неё, а не на всё окно.
Сейчас не работает, поскольку клик на вложенный элемент вызывает клик и на родителя