2016-07-28 187 views
0

我遇到了一个问题,我在网格上初始化上下文菜单,它可以工作,但我在页面上有另一个功能,当点击时隐藏网格,当我将网格返回菜单不再起作用,我想可能重新初始化它将解决我的问题。重新初始化或检查菜单是否被初始化

我该如何重新初始化菜单?如果没有“重新初始化”功能,而不是在我销毁它之前检查菜单是否已经制作并重新制作?

我知道我可以销毁它,但我无法弄清楚如何判断它是否被初始化?

JS:

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

我从来没有想到这一点,所以我决定使用不同的上下文菜单插件更好的支持。 – Blindsyde

回答

0

菜单可(再)初始化 - 像任何jQuery UI的WID让 - 通过调用

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

但通常这不应该是必要的:

如果电网只是隐藏(但不删除),菜单应该简单地继续作为工作不久,因为网格是可见再次。

如果网格被删除并重新创建,然后选择应匹配是去掉了一些父元素,比如像这样:

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

话又说回来,菜单将继续工作。

+0

网格(jqGrid)被隐藏,然后数据被重新加载,我有一个字段,您可以在其中输入数据并点击加载,网格加载行,然后在该字段中单击以输入不同的数据,onFocus网格隐藏,当你点击加载网格显示,但新数据和上下文菜单不再起作用时,我试过了你提出的两件事,然后我才发布求助,但都没有成功。很奇怪,但是我改变了插件,现在它工作的很好。 – Blindsyde