Как удалить класс при нажатии на пустое место?
<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>
Варианта два:
1. Отлавливать клик по всему документу, в теле обработчика проверять, был ли клик по блоку или вне его.
2. Ловить событие blur на сворачиваемом блоке. Но чтобы событие начало срабатывать, надо задать контейнеру атрибут tabindex.