はい、この質問は以前に尋ねられましたが、それは私の問題を解決しませんでした。
したがって、この状況を考えてみましょう。たとえば、divがあるとしましょう。これでcontainer、このdivには、他にもさまざまなオブジェクトがたくさん<a>, <img />, <div>, <ul>含まれています。
これで、ユーザーはそのdivで何かを実行したり、メッセージを書き込んだりすることができます...しかし、そのcontainer要素の外側のどこかをクリックすると、それは消えるはずなので、それは簡単ですよね?
$(document).on("click", document, function(event){
if($(event.target).is(".container")) return;
$(".container").hide();
});
確かにこれは機能しますが、同時に機能しません。ターゲットがそうでないかどうかをチェックするだけなので、ボタンをクリックすると消えます。そのステートメントcontainerにすべての要素を含めることができます。ifしかし、私の場合、それは非常に長いリストになるでしょう...だからもっと良い方法がなければなりません
はい、使用しようとしましたが、機能しませんでした。単純なイベントの代わりにevent.stopPropagation()使用しているためだと思います。これを手伝ってください...onclick
また、私はあなたのためにこのフィドルをセットアップしました:http: //jsfiddle.net/nVfJ5/