2011-10-30 6 views
2

Ok, donc j'ai une boîte de connexion déroulante, qui utilise ce code pour la liste déroulante:jQuery return false; Breaks Checkbox

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

Le seul problème est que le retour faux enfreint la case à cocher que je l'ai ajouté à la boîte de connexion. .. Quelqu'un sait-il comment résoudre ce problème?

EDIT: Ok, donc la bonne façon de le faire est:

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

de quelle manière la case à cocher Broken? – Daveo

+0

N'a pas été sélectionné lorsque vous avez cliqué dessus. – skimberk1

+0

@ skimberk1 code HTML s'il vous plaît. –

Répondre

0

Ce code ici

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

empêcherons la case sera cochée. Comme la case à cocher est dans le div de connexion?

Vous devez l'enlever. Quel est le point de celui-ci?