0

グリッドのコンテキスト メニューを初期化して動作するという問題がありますが、クリックするとグリッドが非表示になる別の機能がページにあり、グリッドを元に戻すとメニューが動作しなくなります。再初期化すると問題が解決します。

メニューを再初期化するにはどうすればよいですか? 「再初期化」機能がない場合、メニューを破棄して別のメニューを作成する前に、メニューが作成されているかどうかを確認するにはどうすればよいですか?

破棄できることはわかっていますが、最初に初期化されているかどうかを確認する方法がわかりませんか?

JS:

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

2 に答える 2

0

私はこれを修正することも理解することもできなかったので、コンテキスト メニュー プラグインを削除し、適切なドキュメント (以下のリンク) を持っている別のプラグイン作成者に依頼しました。

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

于 2016-08-01T18:05:51.853 に答える
0

メニューは (再) 初期化することができます - 他の jQuery UI ウィジェットと同様に - を呼び出します

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

通常、これは必要ありません。

グリッドが非表示になっただけの場合 (ただし、削除されていない場合)、グリッドが再び表示されるとすぐに、メニューは機能し続けるはずです。

グリッドが削除されて再作成された場合、セレクターは削除されていない親要素と一致する必要があります。たとえば、次のようになります。

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

その後、メニューは引き続き機能します。

于 2016-08-03T22:33:16.187 に答える