1

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

Имеем блок:

<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