Показать сообщение отдельно
  #8 (permalink)  
Старый 28.06.2017, 22:27
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<button id="modal_button">Open modal</button>
<div class="modal"></div>

var handler = function(e) {
	if(e.target !== modalButton && !e.target.matches('.modal, .modal *')) {
		modal.classList.remove('open');
		this.removeEventListener(e.type, handler);
	}
};

var modal = document.querySelector('.modal');
var modalButton = document.getElementById('modal_button');

modalButton.onclick = function() {
	if(!modal.classList.contains('open')) {
		modal.classList.add('open');
		window.addEventListener('click', handler);
	}
};
Ответить с цитированием