Here is my problem. I have some custom jquery written to toggle down a login form on my site. I then added some code I found here to close that box if you click off it.
The problem comes in because I have a link to a fancybox inside this div that toggles in/out. Because i'm using event.stopPropagation();
along with the clickoff, it messes with that fancybox link. Full code example is below.
//Login Toggle
$('a.login').click(function() {
if ($('.login-box').is(':hidden')){
$('.login-box').fadeIn('normal');
$('span.arrow-up').fadeIn('normal');
$(this).text('Close');
}
else{
$('.login-box').fadeOut('normal');
$('span.arrow-up').fadeOut('normal');
$(this).text('Log-In');
}
});
//Close when click off login
$('html').click(function() {
$('.login-box').fadeOut('normal');
$('span.arrow-up').fadeOut('normal');
$('a.login').text('Log-In');
});
//Exclude these divs, so clicking inside them won't close login
$('.login-box, a.login, span.arrow-up').click(function(event){
event.stopPropagation();
});
//Forgot Password Fancybox
$("a.fancybox").fancybox({
maxWidth : 800,
maxHeight : 600,
fitToView : false,
width : '70%',
height : '70%',
autoSize : false,
closeClick : false,
openEffect : 'fade',
closeEffect : 'fade'
});
If I take out the stopPropagation, everything works as expected (the fancybox button works), I just lose the ability to close the login box by clicking outside of it. Can anyone help me with a smarter way of writing it that doesn't break the fancybox functionality?