dans le corps de cliquer div cacher, quand je clique sur les div également le cacher

Je veux afficher un div sur le lien et cliquez sur masquer si cliquez en dehors du lien ou de la div.

<a href="#" class='login' id="login">login </a>
<div class="login-panel"> 
    <input type="text" id="LoginForm_username" name="LoginForm[username]" class="field" value="username">
    <input type="password" id="LoginForm_password" name="LoginForm[password]" class="field" value="password">
    <input type="submit" value="Login"  class="loginBtn">
</div>

initialement div est caché. et le script est

$(document).ready(function() {
    $("#login").click(function () {
        $("div.login-panel").toggle();
    });

    $("body").click(function(e){
        if(e.target.className == "login" || e.target.className == "login-panel") { 
            //alert("do't hide");  
        }
        else {
            $(".login-panel").hide();
        }
    });
});

quand je clique sur le lien div montre des chevauchements et certains autres éléments, et quand je clique sur l'extérieur du corps, il meurt.
Mais le problème est que lorsque je clique sur la zone de saisie pour entrer le nom d'utilisateur de connexion du panneau div obtenir des peaux.
pourquoi div cacher?
des conseils seront appréciés.

InformationsquelleAutor hemc4 | 2012-11-22