Скрыть блок при клике вне блока
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