MSkitalec
@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>
  • Вопрос задан
  • 3767 просмотров
Пригласить эксперта
Ответы на вопрос 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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 16:53
1000 руб./за проект
19 апр. 2024, в 16:45
5000 руб./за проект
19 апр. 2024, в 16:22
30000 руб./за проект