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>

CSS

div{
    display:none;
}

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();
});