jQuery返回false;打破复选框

时间:2011-10-30 00:12:48

标签: jquery html

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

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

唯一的问题是,返回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');
});

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

这里的代码

$('#header #login').click(function(){
    return false;
});

将阻止勾选复选框。由于复选框位于登录div的旁边?

您需要将其删除。有什么意义呢?