2012-11-08 184 views
2

我使用UL元素创建菜单,我使用jQueryUI来显示此菜单。jQueryUI菜单隐藏

<ul style="display:none" id="action_menu" class="menu"> 
    <li><a href="javascript:alert(213112);">Edit Translation</a></li> 
    <li><a href="javascript:void(0);">Edit Comment</a></li> 
    <li><a href="javascript:void(0);">Edit Bind</a></li> 
    <li><a href="javascript:void(0);">Edit Reuse</a></li> 
    <li><a href="javascript:void(0);">Edit Sync Up</a></li> 
    <li><a href="javascript:void(0);">Export</a></li> 
    <li><a href="javascript:void(0);">Show History</a></li> 
    <li><a href="javascript:void(0);">Upload Screenshot</a></li> 
</ul> 

当按钮被点击时,$( “#action_menu”)。菜单()可以显示此菜单。 我知道如何显示这个菜单,现在我不知道如何在鼠标点击其他地方而不是点击菜单时如何隐藏这个菜单。我发现有这么多的例子,他们添加文档点击侦听器,并检查事件目标的父节点是否是这个菜单。喜欢这个链接Hide dropdown menu jQuery没有人有更好的主意,我想知道为什么jQueryUI不会添加一个事件或选项的菜单部件。有人帮我,谢谢

回答

1

这是一个通用的解决方案我不知道你的插件

$(document).click(function (e) 
{ 
    var container = $(".menu"); 

    if (container.has(e.target).length === 0) 
    { 
     container.hide(); 
    } 
}); 
+0

我已经在其他地方见过这种解决方案,它看起来jQuery用户界面并不需要文件右键菜单隐藏考虑,我必须像这样解决这个问题。感谢U,Arun Killu – iamght

+0

我有同样的问题。当我实施这个解决方案时,点击打开菜单的按钮不会再做任何事情。任何解决方案 – jmcollin92