jQuery: закрытие окна при клике вне него

Распространённая задача — скрыть всплывающее js окно при клике вне этого окна. Один из вариантом решения проблемы повесить прозрачный div на всю страницы под Ваше всплывающее окно и при клике на див бекграунда закрыть popup. Но в случае использования jQuery все можно сделать попроще:

$(document).click(function(e){
    if ($(e.target).parents().filter('div.myPopup:visible').length != 1 && !$(e.target).hasClass('link-toggle-popup')) {
        $('div.myPopup').hide();
    }
});

// myPopup класс окна popup
// link-toggle-popup класс ссылки по которому открывается Ваш popup. Если не проверять, то при клике на ссылку окно не появится



Теги: