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

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

Похожие вопросы
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час
21 нояб. 2024, в 21:42
100000 руб./за проект