Повторно инициализируйте или проверьте, инициализировано ли меню
У меня проблема с инициализацией контекстного меню в сетке, и оно работает, но у меня есть другая функция на странице, которая при нажатии скрывает сетку, когда я возвращаю сетку обратно, меню больше не работает, я думаю, что, возможно, повторная инициализация исправит мою проблему.
Как бы я повторно инициализировать меню? Если нет функции "повторной инициализации", то как я могу проверить, было ли создано меню, прежде чем я уничтожу его и сделаю другое?
Я знаю, что могу уничтожить его, но не могу понять, как определить, инициализирован ли он первым?
JS:
if(order.contextmenu("initialized"))
order.contextmenu("destroy");
2 ответа
Я не смог это исправить или выяснить, поэтому я удалил плагин контекстного меню и пошел с другим автором плагина, у которого была хорошая документация (ссылка ниже):
Меню может быть (повторно) инициализировано - как любой виджет jQuery UI - путем вызова
$(selector).contextmenu({...})
но обычно это не должно быть необходимо:
Если сетка была только скрыта (но не удалена), меню должно просто продолжать работать, как только сетка снова станет видимой.
Если сетка удалена и создана заново, селектор должен соответствовать некоторому родительскому элементу, который не был удален, например, так:
$(document).contextmenu({
delegate: ".grid-cell",
...
})
Затем снова меню продолжит работать.