2016-07-28 152 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