Если я щелкаю по узлам своего необычного меню, они активируют диалоговые окна, которые появляются рядом с меню. У них есть кнопки отмены, которые закрывают диалог. Однако, когда я снова нажимаю на тот же пункт меню (узел), это же диалоговое окно больше не появляется (как я этого хочу), я думаю, потому что Fancytree думает, что это текущий выбранный узел, поэтому игнорирует его.
Если я выберу другой пункт меню, он будет работать нормально, и появится диалоговое окно для этого элемента. Так как же заставить Fancytree запускать ту же самую функцию activate:
для выбранного в данный момент пункта меню при повторном нажатии?
В своем обработчике кнопки отмены я пытался использовать node.setSelected(false)
, который должен отменить выбор элемента, но все жедиалоговое окно не появляется снова, когда я снова нажимаю на тот же элемент. Я подтвердил, что это правильный (текущий) узел, на котором используется setSelected (false).
Я просто использую стандартную конфигурацию fancytree, например:
var currentMenuItemNode;
$("#tree").fancytree({
activate: function(event, data){
this.currentMenuItemNode = data.node;
}
});
cancelButtonHandler() {
// Close dialog box here
this.currentMenuItemNode.setSelected(false); // Deselect item
}
Любые мысли приветствуются!