@reaget

Почему исчезает popup при нажатие на окно?

Есть такое окно модальное:
<div class="popup">
	<div class="form2019">
	<h1>Заявка</h1>
	<p>Заполните короткую форму и наш специалист свяжется с Вами в ближайшее время</p>	
		<form id="form2019">
		
		</form>
	</div>
</div>

Вот код CSS
.popup {
	position: fixed;
	background:rgba(0,0,0,.6);
	top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: none;
    z-index:99;
}
.form2019 {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
		z-index:999;
		width:434px;
		padding:30px 40px;
		background:#FFFFFF;
		border:1px solid #666666;
		border-radius:1px;
		box-shadow:0 0 2px rgba(0,0,0,0.6);
	}


Проблема в том, что когда я нажимаю на само окно, оно исчезает. Почему?
Я проверял с помощью JQuery, при нажатии на форму, target равен div.popup, а не div.form2019
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
fallus
@fallus
Не знаю, правильно ли я понял суть проблемы.

Оно исчезает потому, что является частью родительского контейнера, который должен скрыться.
Нужна проверка.

$(".popup").click(function(e){
  if(e.target == this){
    $(".popup").fadeOut(400);
  }
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@xonar
А смысл?
Может потому что у popup в стилях display: none; ? Естественно его не будет видно. Если хотите, чтобы popup окно открывалось при вызове, ему нужно класс вешать например is-active со свойством display:block.

Если я правильно понял вашу проблему конечно.
Или скорее всего, вы добавили событие в jquery если клик на окно происходит, то он скрывается. Код полный покажите на codepen.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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