Задать вопрос
arteqrt
@arteqrt
Почти не начинающий програмист

Как решить конфликт модальных окон?

Как решить конфликт модальных окон?
создал модальное окно, привязал его к 2 кнопкам,
потом создал 3 кнопку и 2 модальное окно. Почему-то конфликтуют последние строки, а именно, при нажатии на область за окном, оно должно закрываться, если в 1 окне это работает, то во 2 нет и наоборот.
Bот код:

(первое окно, тут не работает)
window.onclick = function (event) {
if(event.target == modal) {
modal.style.display = "none"; } }

(второе окно)
window.onclick = function (event) {
if(event.target == modal2) {
modal2.style.display = "none"; } }
  • Вопрос задан
  • 190 просмотров
Подписаться Простой Комментировать
Решения вопроса 1
web_Developer_Victor
@web_Developer_Victor
Что такое google?
Потому что вторая функция переписывает первую. Если делать вашим способом, то правильно как-то так:
window.onclick = function (event) {
 if(event.target == modal) {
  modal.style.display = "none"; 
 } 

 if(event.target == modal2) {
  modal2.style.display = "none"; 
 }
}


А обычно делают как-то так:
modal1btn.addEventListener(`click`, (e) => {
 e.preventDefault();
 modal1.classList.add(`modal--hidden`);
}

modal2btn.addEventListener(`click`, (e) => {
 e.preventDefault();
 modal2.classList.add(`modal--hidden`);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы