Tech notes

Daily notes about my IT activities.

2012-03-16

Скрыть блок при клике вне блока

by hackprime

Имеем блок:

<div id="block">blah</div>

Чтобы блок скрывался при клике вне блока:

document.onclick = function(ev) {
  var block = document.getElementById('block');
  if (ev.target.id != block.id && block.style.display === 'block') {
    block.style.display = 'none';
  }
}

Для jQuery:

$(document).click(function(e) {
  if ($(e.target).parents().filter('#block:visible').length != 1) {
    $('#block').hide();
  }
});

Источник: скрыть блок меню по клику вне самого блока / JavaScript / askdev