2016-08-06 19 views
1

我正在尋找一種方式來做到這一點:jQuery的/ JavaScript的應用點擊*而不是一個特定的元素,他的孩子的

$('*:not(#specific)').on('click',function(e){ 
 
    //execute code 
 
}); 
 

 
//or : 
 

 
$('*').not('#specific').on('click',function(e){ 
 
    //execute code 
 
});

要對每一個元素應用操作的DOM,但不在我的具體div和childs。

但他們都沒有工作。

基本上,我嘗試建立類似Firebug誰可以申請一個大綱過度元素的最後一個孩子的系統(這部分是確定)。但在保留元素的輪廓後,選擇並打開一個對話框。但是當我們點擊一​​個DOM元素時出現的對話框也是這個DOM的一部分,它會產生一個無限循環的事件。我無法正確使用我的對話框。

還是要謝謝你

回答

1

試試這個:

$('body *').not('#specific, #specific *').on('click',function(e){ 
    //execute code 
}); 

這將忽略#specific及其任何孩子。

0

你寫的第二個代碼是完全有效的。你可以參考this的答案。

它基本上是一個:否()選擇:

$('*').not('#specific').on('click',function(e){ 
    //execute code 
}); 
0

感謝球員,

$('body *').not('#specific, #specific *').on('click',function(e){ 
 
    //execute code 
 
});

完美。

而且如果我要綁定在#specific點擊,我有以前的代碼中插入...

$('body #specific').on('click',function(e){ 
 
    //execute code... 
 
});

是正確的嗎?

相關問題