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

Как удалить класс при нажатии на пустое место?

Сделал сворачивающийся блок. Теперь не могу придумать как убрать его не только по клику по ссылке, но и при нажатии на любое место
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
  $(document).ready(function(){
    $("#button").click(function () {
      $("#id").toggleClass("class");
    });
  });
  </script>
  <style>
  .class{display:block !important}
  #id{display:none}
  </style>
  <a id="button" href="#">раскрыть</a>
  <div id="id">блок</div>
  • Вопрос задан
  • 3795 просмотров
Подписаться Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
mrquake
@mrquake
Абырвалг
<html>
<head><meta charset='utf-8'></head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
 $(document).ready(function() {
     $(document).click(function() {
    $('#id').toggleClass("class");
  });
    $("#button").click(function() {
      $("#id .id").toggleClass("class");
  });
 });
  </script>
  <style>
  .class{
      display:block !important;
  }
  #id{
      display:none;
  }
  </style>
  <a id="button" href="#">раскрыть</a>
  <div id="id" class='id'>блок</div>
  </html>
Ответ написан
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
$(document).click(function(){...});
Ответ написан
Комментировать
Варианта два:
1. Отлавливать клик по всему документу, в теле обработчика проверять, был ли клик по блоку или вне его.
2. Ловить событие blur на сворачиваемом блоке. Но чтобы событие начало срабатывать, надо задать контейнеру атрибут tabindex.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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