Tuesday, 28 February 2017

html - Use jQuery to hide a DIV when the user clicks outside of it



I am using this code:



$('body').click(function() {

$('.form_wrapper').hide();
});

$('.form_wrapper').click(function(event){
event.stopPropagation();
});


And this HTML:







The problem is that I have links inside the DIV and when they no longer work when clicked.


Answer



Had the same problem, came up with this easy solution. It's even working recursive:




$(document).mouseup(function(e) 
{
var container = $("YOUR CONTAINER SELECTOR");

// if the target of the click isn't the container nor a descendant of the container
if (!container.is(e.target) && container.has(e.target).length === 0)
{
container.hide();
}
});


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...