Как сделать закрытие модального окна при нажатии вне его области?
Как сделать закрытие модального окна при нажатии по серой области, то есть вне области самого окна, сейчас окно закрывается и при клике по серой области и при клике по самому окну.
Дополнительно:
Содержание
Если нужно быстрое решение без изменения существующей структуры модального окна, то в функции closeModal для modalContent добавьте addEventListener на click и остановите всплытие данного события выше к родителю через event.stopPropagation();
- Правильно ли я Вас понял?
PHP1function closeModal() { const modal = document.querySelector('.modal.show'); const modalContent = modal.querySelector('.modal-content'); modalContent.addEventListener('click', (event) => { event.stopPropagation(); }); modalContent.classList.remove('show'); modal.addEventListener('transitionend', () => { modal.classList.remove('show'); }); }Если да, то это помогло лишь частично. Теперь при первом открытии окна , оно закрывается при нажатии на контент, при повторном открытии окна, уже не закрывается и так для каждого
- Владислав Михеев, согласен. Если перенести данный обработчик (addEventListener) в функцию openModal, то такой проблемы уже не будет.
- Andrey K., спасибо, это действительно помогло.
- Владислав Михеев, лучше всего использовать делегирование событий.
Ответы:
За слоем с модальным окном должен быть прозрачный (или не прозрачный) слой на весь экран и по клику на него закрывать.
- Такой слой имеется, modal, но почему-то окно закрывается, по клику по объекту который находится поверх слоя modal, скорее всего я сделал что-то не так
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?
Для того чтобы сделать закрытие модального окна при нажатии вне его области, можно использовать JavaScript. Вот пример кода на чистом JavaScript, который позволит реализовать данную функциональность:
В данном примере мы используем событие
onclickнаwindow, чтобы отслеживать клики пользователя. Если клик произошел вне модального окна (т.е. наmodal), то мы закрываем модальное окно, устанавливая свойствоdisplayв значение "none".Не забудьте присвоить свойство
id="myModal"вашему модальному окну в HTML коде, чтобы скрипт мог его найти.Таким образом, данный код позволит закрывать модальное окно при клике вне его области, что улучшит пользовательский опыт и сделает интерфейс более удобным для использования.