关于Franek的问题found here,我还有一个问题。
上面链接上的解决方案对我有效,直到我在我的页面上引入了另一个菜单。在本例中,有两个相邻的菜单。当我单击它们中的一个时,会显示相关的div,其中显示了可供选择的选项。然后,当我单击文档时,div将关闭。但当我单击任何其他元素时,它仍然显示。
对我来说,一种解决方案是运行代码,以便在单击任何其他元素以及单击文档时关闭菜单。
我如何才能做到这一点?
(menu:不可见的div元素,当单击其标题时将变为可见)
发布于 2009-05-23 23:59:42
这稍微好一点,因为它还检查被单击的元素的父元素:
$(document).click(function(e) {
var target = e.target;
if (!$(target).is('#menu') && !$(target).parents().is('#menu')) {
$('#menu').hide();
}
});发布于 2009-05-23 23:38:44
点击你想要隐藏的菜单之外的所有元素,对吗?
$(function() {
$('*').click(function(e) {
if(e.target.id != 'menu') {
$('#menu').hide();
}
});
});发布于 2013-02-22 16:38:31
我的html代码是
<div class="filter-show">
<ul style="display:none;">
<li>menu 1</li>
<li>menu 2</li>
<li>menu 3</li>
</ul>
</div>而jquery代码是
<script>
$('html').click(function(event){
if(!$(event.target).children().is('.filter-show > ul')){
$(".filter-show > ul").fadeOut();
}
});
$(".filter-show").click(function(){
$(".filter-show > ul").fadeOut();
$(this).children('ul').fadeIn();
});
$(".filter-show > ul").hover(function(){
//
},function(){
$(".filter-show > ul").fadeOut();
});
</script>https://stackoverflow.com/questions/893311
复制相似问题