jQuery返回false; 打破复选框

ski*_*rk1 2 html jquery

好的,所以我有一个下拉登录框,它使用此代码进行下拉:

$('#header #login > a').click(function(){
    if($('#header #login').hasClass('open')){
        $('#header #login').removeClass('open');
    }
    else{
        $('#header #login').addClass('open');
    }
    return false;
});
$('#header #login').click(function(){
    return false;
});
$(document).click(function(){
    $('#header #login').removeClass('open');
});
Run Code Online (Sandbox Code Playgroud)

唯一的问题是返回false是打破了我添加到登录框的复选框...有人知道如何解决这个问题吗?

编辑:好的,所以正确的方法是:

$('#header #login > a').click(function(e){
    if($('#header #login').hasClass('open')){
        $('#header #login').removeClass('open');
    }
    else{
        $('#header #login').addClass('open');
    }
    e.preventDefault();
});
$('#header #login').click(function(e){
    e.stopPropagation();
});
$(document).click(function(){
    $('#header #login').removeClass('open');
});
Run Code Online (Sandbox Code Playgroud)