Да, используйте event.stopPropagation ();
$('#login').click(function(event) {
event.stopPropagation();
таким образом, событие не попадает в #loginBox. Кроме того, если вас беспокоит застревание анимации в очереди (многократное нажатие и анимация идет и уходит), вы можете использовать stop ..
$('#username').stop().show();
далее при переключении - ваша реализация добавляет обработчик кликов к #loginBox по щелчку входа в систему .. toggle is обработчик щелчков ..
// обработчик события окна входа в систему
$('#login').toggle(
function() {
$('.loginBox').animate({
height: '150px'
},
'1000'
);
$('#username').show();
$('#password').hide();
$('#placeHolder').show();
},
function() {
$('.loginBox').animate({
height: '50px'
},
'1000'
);
$('#username').hide();
$('#password').hide();
$('#placeHolder').hide();
}
);
немного точнее ..