思ったこと jQueryを使ってメニュー等の表示、非表示を切り替えるときにtoggleClass()とCSSを使ってメニューを隠したり隠さなかったりするというやり方はシンプルだけど、メニューの外をクリックした時もメニューが消えずにうっとおしかった。 ググった結果 何やらややこしいやり方しか書いてなかった。 やったこと 領域外クリックの検知 jQuery側 $(document).click(function() { $('#menu').hide(); }); これだけ。 問題点 このままでは表示した要素内をクリックするとその要素自体も消えてしまう。もともと非表示のメニュー等、消えても問題のない場合もあるが、殆どの場合は要素内をクリックして消えられては困る。 解決策 $('#menu').click(function() { event.stopPropagation(); }); の一行