jquery选择除div及其子元素之外的所有元素
我有这个html / css代码:
当用户点击除#sub_menu_area
之外的所有其他内容时,我试图触发一个函数。 我使用js的以下部分:
$('*').not('#submenu_area').click(function(){ if(slide == "open"){ $('#sliding_menu_area').toggle(effect); slide = "close"; } });
不幸的是,孩子们不知何故不被排除在外,并且点击它会翻转很多次。 有谁知道如何正确地做到这一点?! 🙂
编辑:所以我需要的是一个jquery选择器来正确获取: on click of all elements of body EXCEPT for #submenu_area and its descendants
。
试试这个:
$(document).click(function(e) { if ($(e.target).is('#submenu_area, #submenu_area *')) { return; } if(slide == "open"){ $('#sliding_menu_area').toggle(effect); slide = "close"; } });
用这个:
$('*').not("#submenu_area *").click(function() { ... });