Clique fora da DIV fecha a DIV
HTML
<button>Tens bandeiras?</button>
<div id="bandeiras">Tenho, bué da bandeiras, mas é assim, não sei onde meti os icons e então acabei por escrever um texto muito longo a dar conta que não sabia dos icons e nem sei se todos estão a ler isto até ao fim? Tu estás? É pá! Bora lá bater um papo...</div>
JavaScript
$(document).mouseup(function (e) {
var $div = $("#bandeiras"),
$btn = $("button");
// se o alvo do clique não é a DIV ou um filho da DIV
if (!$div.is(e.target) && $div.has(e.target).length === 0) {
// se o alvo não é o botão que abre/fecha a DIV
if (!$btn.is(e.target) && $btn.has(e.target).length === 0) {
// se a DIV está aberta
if ($div.is(':visible')) {
$div.slideToggle();
}
}
}
});
$('button').on("click", function() {
$('#bandeiras').slideToggle();
});