特定のクラス名を持つdivにクリックがない限り、ドキュメントがクリックされた場合にクリックイベントを発生させようとしています。jqueryセレクタのnot()メソッドが機能しません
私は以下を試しましたが、イベントは発生しません。
$(document).not(".class").click(function(){
//code
});
$(document).not("div.class").click(function(){
//code
});
$("body").not(".class").click(function(){
//code
});
誰かが間違っていることを知っていますか?
おかげ
*更新
私は、次の
$(document).on("click", ":not(.class)", function(){
$('*:not(.class)',document).click(function(){
$(document).find(':not(.class)').click(function(){
$("body:not(.thisclass)").doAction();
を試みた。しかし、それは私が除外しようとしている.classファイルでのdivに任意の区別を与えていません。このイベントは、ドキュメント上をクリックすると発生します。問題は、あなたのセレクタが、その中のいずれかなしdocument
またはbody
クラスclass
ないclass
要素ターゲットにしようということである。ここ
が
<div class="pictureBox" id="pictureBox2"> <!--content--></div>
+1。良いURLリソースを使って委譲/バブリングを説明する非常に簡単な方法。もし私が間違っていれば正解しますが、 '$(document).click()'を '$( ':not(.class)') ){e.stopPropagation();}); '。これにより '.class'からのバブリングがドキュメント上で止まらなくなります。 – RaphaelDDL
@RaphaelDDLはうまくいきます。あなたが使ってはならないことを除いて、あなたはそのクラスがドキュメントのクリックを防ぐために必要です。 – jcsanyi
@jcsanyi True true。私は編集しようとしましたが、既に5分を過ぎていました:Pしかし、正しいのは '$( '。class')です。ありがとう – RaphaelDDL