Ho questo codice html/css:jquery selezionare tutti gli elementi eccetto un div e dei suoi figli
<body>
<!-- BEGIN: HEADER AREA -->
<?php require("snippets/header_area.php"); ?>
<!-- END: HEADER AREA -->
<div id = "presentation_area">
<div id = "submenu_area">
<div id = "sliding_menu_area">
</div>
<div id = "tags">
<div id = "1">
<img src = "lang/el/images/1.png" />
</div>
<div id = "2">
<img src = "lang/el/images/2.png" />
</div>
<div id = "3">
<img src = "lang/el/images/3.png" />
</div>
<div id = "4">
<img src = "lang/el/images/4.png" />
</div>
</div>
</div>
</div>
</body>
Sto cercando di attivare una funzione quando l'utente fa clic su tutto il resto, tranne per il #sub_menu_area
. Io uso la seguente parte di js:
$('*').not('#submenu_area').click(function(){
if(slide == "open"){
$('#sliding_menu_area').toggle(effect);
slide = "close";
}
});
Purtroppo i bambini in qualche modo non sono esclusi e clic su di esso commuta un sacco di volte. Qualcuno sa come farlo correttamente ?! :)
EDIT: Quindi quello che serve è un selettore jQuery per ottenere correttamente: on click of all elements of body EXCEPT for #submenu_area and its descendants
.
Potrebbe funzionare la levetta sul '$ (this)'? Questo è il cuore di ciò che vuoi fare? – veeTrain
No perché voglio qualcosa come "tutto tranne questo e i suoi figli". Hai qualche esempio funzionante con '$ (this)'? –
Siamo spiacenti; Forse non capisco esattamente cosa stai vedendo e non voglio che succeda. Mi rendo conto che più effetti vengono attivati di quanto si desideri, ma se si crea un jsfiddle.net, sarebbe utile visualizzare il comportamento in modo specifico. Ho pensato che volevi attivare la cosa cliccata ma sembra che tu stia cercando di vedere ** nessun effetto ** sulle 4 immagini poiché sono discendenti di 'submenu_area', corretto? – veeTrain