Sto cercando di ottenere un evento click da attivare se si fa clic sul documento, a meno che non ci sia un clic su un div che ho con un certo nome di classe.Il metodo not() sul selettore jquery non funziona
Ho provato quanto segue ma l'evento non si attiva.
$(document).not(".class").click(function(){
//code
});
$(document).not("div.class").click(function(){
//code
});
$("body").not(".class").click(function(){
//code
});
Qualcuno sa cosa sto facendo male?
Grazie
* Aggiornamento
ho provato il seguente
$(document).on("click", ":not(.class)", function(){
$('*:not(.class)',document).click(function(){
$(document).find(':not(.class)').click(function(){
$("body:not(.thisclass)").doAction();
Ma non sta dando alcuna distinzione al div con .class che sto cercando di escludere. L'evento si attiva con qualsiasi clic sul documento.
Ecco il div dal mio html
<div class="pictureBox" id="pictureBox2"> <!--content--></div>
+1. Un modo super semplice di spiegare la delega/ribollire con buone risorse di url. Correggere se ho torto, ma un altro modo di fare (meno bello) è fare il '$ (document) .click()' quindi registrare '$ (': not (.class)'). Click (function (e) {e.stopPropagation();}); '. Ciò farà sì che il bubbling si fermi su ".class" su se stesso, non facendo bolle sul documento. – RaphaelDDL
@RaphaelDDL che dovrebbe funzionare, eccetto che non dovresti usare no - tu VUOI quella classe per evitare che il clic del documento. – jcsanyi
@jcsanyi Vero vero. Ho provato a modificare ma era già passato 5 minuti: P Ma sì, il corretto dovrebbe essere '$ ('. Class'). Click (function (e) {e.stopPropagation();});'. Grazie – RaphaelDDL