重新初始化或检查菜单是否初始化

Reinitialize or check to see if menu is initialized

我遇到了一个问题,我在网格上初始化上下文菜单,它可以工作,但我在页面上有另一个功能,点击时隐藏网格,当我把网格放回菜单时,菜单不再工作,我在想也许重新初始化它会解决我的问题。

如何重新初始化菜单?如果没有 "reinitialize" 功能,那么在我销毁它并制作另一个菜单之前,我如何检查菜单是否已经制作?

我知道我可以销毁它,但我不知道如何判断它是否先被初始化?

JS:

if(order.contextmenu("initialized"))
    order.contextmenu("destroy");

我无法修复或解决这个问题,所以我删除了上下文菜单插件并与另一位拥有良好文档的插件作者一起使用(link 下面):

http://swisnl.github.io/jQuery-contextMenu/

可以(重新)初始化菜单 - 就像任何 jQuery UI 小部件一样 - 通过调用

$(selector).contextmenu({...})

但通常不需要这样做:

如果网格仅被隐藏(但未被移除),则只要网格再次可见,菜单就应该继续工作。

如果网格被删除并重新创建,那么选择器应该匹配一些删除的父元素,例如:

$(document).contextmenu({
    delegate: ".grid-cell",
    ...
})

然后菜单将继续工作。