我有一个带有一些HTML / js代码的应用程序。当我右键单击此文档的div时,我正在使用jquery在$ document元素中显示一个上下文菜单(版本:1.6.6)。使用“自动隐藏”功能,当鼠标离开HTML文档时它会关闭,但是在其他情况下,我想关闭上下文菜单。这是我的第一个问题,如何以编程方式关闭菜单。
我的代码:
$(document).contextMenu({
selector: '#' + panelId,
autoHide: true,
items: ...
callback: function(key, options) {
if (key === ...
}
我有一个需要关闭菜单的功能,但是我所有的测试都失败了:
function()
{
$(document).contextmenu(false);
$(document).trigger('contextmenu:hide');
$trigger = $('#' + panelId);
$trigger.contextMenu(false);
}
'panelId'是当我在div中右键单击时使用'oncontextmenu'属性和'myFunction'值获得的值。因此,在显示上下文菜单之前会先调用“ myFunction”,然后在其中保存ID,以便在菜单“即将显示”时用于启用/禁用项目
我的第二个问题:如果右键单击div元素后将上下文菜单打开(将divId保存在“ myFunction”中),而我右键单击另一个div元素,则不会调用“ myFunction”,因此无法保存新divId
,并且“新”上下文菜单具有与上一个相同的选项。打开上下文菜单后,如何获得右键单击?我需要新的divId
。
答案 0 :(得分:0)
我已将我的插件版本更新为 https://github.com/swisnl/jQuery-contextMenu/blob/master/src/jquery.contextMenu.js 我的第二个问题解决了。
然后我发现了如何关闭菜单,也许对任何人都可以帮助>
$('.context-menu-list').trigger('contextmenu:hide');
关于, 迭戈