I found a great answer on detecting a click outside a div from this question: How do I detect a click outside an element?, which works fantastically.
But I've noticed that it doesn't work on the iPhone when testing my site, if I tap outside the element.
Here is the code (taken directly from that answer)
$('html').click(function() {
//Hide the menus if visible
});
$('#menucontainer').click(function(event){
event.stopPropagation();
});