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

Как сделать так, чтобы click на div не срабатывал при клике на дочерние блоки?

<div class='formWrapper'>
     <form class='reportForm'>
         <h3>Сообщить об ошибке</h3>
         <p>Ваше имя</p>
         <input type='text'>
         <input type='submit' class='reportButton'>
     </form>
  </div>

function closeForm () {
       $('.formWrapper').click(function() {
           $('.reportForm').fadeOut('slow');
           $('.formWrapper').fadeOut('slow');
       });
   };


Нужно чтобы клик срабатывал только на div, а на саму форму и блоки в ней не срабатывал. Отдельную кнопку для закрытия формы я добавлю, но хочется чтобы и при клике на свободное пространство форма тоже закрывалась.
  • Вопрос задан
  • 118 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
@Ankozar Автор вопроса
Хм, нашёл:

function closeForm () {
    $('.formWrapper').click(function(ev) {
        if (ev.target == this){
            $(this).fadeOut('slow');
            $('.reportForm').fadeOut('slow');
        };
    });
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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