我試圖讓點擊事件觸發如果文檔被點擊,除非有一個點擊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();
但它不給任何區別到div與我試圖排除的.class。任何點擊文檔都會觸發事件。
下面是從我的html
<div class="pictureBox" id="pictureBox2"> <!--content--></div>
+1。超級簡單的方式解釋代理/鼓泡與良好的網址資源。正確的如果我錯了,但另一種做法(不太漂亮)是讓$(document).click()'然後註冊$(':not(.class)')。click(function(e ){e.stopPropagation();});'。這將使'.class'冒泡本身停止,而不是冒泡到文檔。 – RaphaelDDL
@RaphaelDDL應該工作,除非你不應該使用 - 你想要這個類,以防止文檔點擊。 – jcsanyi
@jcsanyi真實的。我嘗試編輯但已經過去5分鐘了:P但是,正確的應該是'$('。class')。click(function(e){e.stopPropagation();});'。謝謝 – RaphaelDDL