Задать вопрос
@dsfafdagsadf

Почему модульное окно не закрывается, по клику по крестику?

Вот код
https://jsfiddle.net/dLoqjk7h/
  • Вопрос задан
  • 223 просмотра
Подписаться 1 Простой 7 комментариев
Пригласить эксперта
Ответы на вопрос 2
Seasle
@Seasle Куратор тега JavaScript
event.target == modal меняем на event.target.closest('.modal') в данном случае.

Или убираем window.onclick. document.getElementsByClassName возвращает массив элементов, поэтому либо span[0].onclick либо var span = document.querySelector('.close');.
Ответ написан
Комментировать
потому что
var span = document.getElementsByClassName("close");

возвращает HTMLCollection, т.е. не один элемент а список элементов.

А дальше идёт навешивание обработчика клика как для единственного элемента:
span.onclick = function() {
  modal.style.display = "none";
}

нужно сначала взять элемент из HTMLCollection и на него уже навешивать обработчик

span[0].onclick = function() {
  modal.style.display = "none";
}

или в цикле обходить все элементы HTMLCollection и на каждый навешивать обработчик
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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