onハンドラーを使用して、'body'要素のレジスターに登録し、特定のdivにない要素が発生するたびにイベントを発生させています。そのため、notセレクターを使用して、これらすべての要素を除外しています。ただし、要素をクリックすると、イベントは1回ではなく2回発生します。
notセレクターを誤解していますか?
フィドルのサンプル: http: //fiddle.jshell.net/kHbH9/
サンプルコード
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Demo</title>
<script src="jquery.js"></script>
<script>
$(function() {
$('body').on('click', ':not(#toolbar)', function(){
$('body').append('clicked<br/>')
});
});
</script>
</head>
<body>
<div id"toolbar">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
</div>
<h1>Click here</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
</body>
</html>