我有这段html/css代码:
<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>
我想在用户点击除了#sub_menu_area
之外的其他地方时触发一个函数。我使用以下JavaScript代码:
$('*').not('#submenu_area').click(function(){
if(slide == "open"){
$('#sliding_menu_area').toggle(effect);
slide = "close";
}
});
很遗憾,子元素们不知何故没有被排除,在点击时会反复切换许多次。有人知道如何正确地做吗?! :)
编辑: 所以我需要一个jquery选择器来正确地获取:在body的所有元素上点击,但#submenu_area及其后代除外。
$(this)
上的开关吗?这符合你想要完成的核心吗? - veeTrain$(this)
的工作示例吗? - Dimitris Damilossubmenu_area
的后代,对吗? - veeTrain在点击body的所有元素时,排除#submenu_area及其子元素
这就是我想做的。 - Dimitris Damilos