如何关闭jquery contextMenu?

时间:2011-07-21 15:23:24

标签: jquery contextmenu

我正在使用a jquery contextMenu plug-in并且遇到了一个小问题我想解决。

目前,当我单击“删除”菜单项时,我调用的函数会使用deleteTests函数中的确认框提示用户。此时,contextMenu仍然可见并且显示确认框。

理想情况下,我想在用户选择菜单项后立即关闭contextMenu,然后继续执行删除功能。

这似乎应该是微不足道的,但我似乎无法让它发挥作用。

$(document).ready(function(){
    $.contextMenu({selector: '#context-menu', items: {
    "delete": {name: "Delete", icon: "delete", callback: menu_click },
    sep1: "---------",
    quit: {name: "Quit", icon: "quit", callback: $.noop}
}});

function menu_click(key, opt) {
    if (key == "delete") {
    // Need to close menu here
        deleteTests();
    }
}
});

2 个答案:

答案 0 :(得分:6)

您可以尝试触发contextmenu:hide

$('.context-menu-list').trigger('contextmenu:hide')

答案 1 :(得分:0)

你是对的。它应该是微不足道的,但作者没有提供这种功能。

您可以查看源代码并复制作者在检测到菜单外部点击时所执行的操作,但这是一个黑客攻击。


你很幸运;我自己也用这个插件做了同样的事情。

以下情况可以,但请记住这是一个黑客

$('.contextMenu').hide();