jQueryを使って領域外のクリックイベントで消えるボックスを複数設定

ウェブアプリケーションなどで、ページ内で特定の操作をする際、
隠していた領域(style="display: none;")を表示させることはよくあると思います。
Twitterのフィード上でつぶやく表示など)
その領域の外をクリックすると、該当する領域を非表示(.hide())する処理を考えてみました。
下記のソースをHTMLドキュメントの中で実行すると実際に動作します。

<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8">
<title>jQuery Click outside Test</title>
<style>
.content {
	display: none;
	width: 400px;
	height: 80px;
}
.red { background-color: red; }
.green { background-color: green;}
.blue { background-color: blue;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
var isMouseHover = false;
$(document).ready(function(){
	$('ul.show-content li').bind('click', function(){
		var color = $(this).data('color');
		$('div#'+color).toggle();
	});
	$('div.content').hover(function(){
		isMouseHover = true;
	}, function(){
		isMouseHover = false;
	});
	$('body').mouseup(function(){
		if(!isMouseHover) $('div.content').hide();
	});
});
</script>
</head>
<body>
<ul class="show-content">
	<li data-color="red"><a href="javascript:void(0)">Red</a></li>
	<li data-color="green"><a href="javascript:void(0)">Green</a></li>
	<li data-color="blue"><a href="javascript:void(0)">Blue</a></li>
</ul>
<div class="content red" id="red">Red</div>
<div class="content green" id="green">Green</div>
<div class="content blue" id="blue">Blue</div>
</body>
</html>