はい、この質問は以前に尋ねられましたが、それは私の問題を解決しませんでした。
したがって、この状況を考えてみましょう。たとえば、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()
使用しているためだと思います。これを手伝ってください...on
click
また、私はあなたのためにこのフィドルをセットアップしました:http: //jsfiddle.net/nVfJ5/