1internet Posted April 5, 2013 Share Posted April 5, 2013 So I have a drop down menu that slides down on click, and back up on click again (slidetoggle). But I want it to slide up if the user clicks anywhere else on the page. The only way I can think of doing this is having a div overlay, that if they click on, it will hide the menu. Surely there is a better way. Any ideas? Quote Link to comment https://forums.phpfreaks.com/topic/276592-hiding-a-div-by-clicking-off-it/ Share on other sites More sharing options...
gristoi Posted April 6, 2013 Share Posted April 6, 2013 use the blur event in jquery Quote Link to comment https://forums.phpfreaks.com/topic/276592-hiding-a-div-by-clicking-off-it/#findComment-1423270 Share on other sites More sharing options...
1internet Posted April 7, 2013 Author Share Posted April 7, 2013 I tried that, no luck. It's a div, doesn't blur only work for form fields? $("#products_nav").click(function(){ $("#menu_tabs").slideToggle(); $(this).blur(function(){ $("#menu_tabs").slideUp(); }); }); Quote Link to comment https://forums.phpfreaks.com/topic/276592-hiding-a-div-by-clicking-off-it/#findComment-1423436 Share on other sites More sharing options...
haku Posted April 11, 2013 Share Posted April 11, 2013 When sliding down, you can set onclick on the page body, setting it to hide the menu in question. However, you will have to do two other things as well: 1) Set the event to not propagate (bubble) when the menu itself is clicked on (or else the menu will hide when you click on it) 2) Remove the onclick from the body when the menu is hidden again. Quote Link to comment https://forums.phpfreaks.com/topic/276592-hiding-a-div-by-clicking-off-it/#findComment-1424102 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.