jQueryUI 菜单隐藏

标签 jquery jquery-ui jquery-ui-menu

我使用 UL 元素创建一个菜单,我使用 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").menu()可以显示这个菜单。 我知道如何显示此菜单,但现在我不知道当鼠标单击其他位置而不是单击菜单时如何隐藏此菜单。我找到了很多例子,他们添加文档点击监听器,并检查事件目标的父节点是否是这个菜单。喜欢这个链接Hide dropdown menu jQuery有谁有更好的主意,我想知道为什么 jQueryUI 不为菜单小部件添加事件或选项。有人帮帮我吗,谢谢

最佳答案

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

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

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

关于jQueryUI 菜单隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13284783/

相关文章:

javascript - 如何让javascript Date.parse理解短年?

javascript - 单击 jQueryUI 菜单项时无法将焦点设置到 jQuery UI 对话框中的表单字段

javascript - ("menuselect"上的 jQueryUI )不是每次都会触发

jquery - 在 jquery fadein/fadeout 之后保留 <a> 文本

javascript - 设计用于使用 ajax 更新多个局部 View 的客户端

jquery - 将自定义方法添加到 jquery ui 对话框

javascript - 仅在单击父元素而不是其子元素时拖动

javascript - Jquery ui 菜单栏与核心错误 - 箭头键损坏

jquery - vsdoc 对 jQuery 1.4.3 : how long? 的支持

javascript - 使用 jquery 从数组中更改目标元素的类