Отключить / включить контекстное меню для JQuery Dynatree не работает - PullRequest
0 голосов
/ 21 февраля 2012

Я использую дерево jQuery вместе с найденным контекстным меню здесь .У меня проблема в том, что я не могу включить / отключить контекстное меню или отдельные элементы в меню.Плагин говорит, что я должен быть в состоянии сделать это:

$("#contextMenu").enableContextMenu();

, но это не работает для меня.Вот меню:

 <!-- Definition of context menu -->
 <div id="contextMenu">
     <ul id="myMenu" class="contextMenu">
       <li class="resubmit"><a href="#resubmit">Resend</a></li>
     </ul>
 </div>

Меню отображается и работает нормально, если я не ставлю какие-либо включения / выключения, но есть случаи, когда пункт меню недоступен, поэтому мне нужно иметь возможность контролировать егогосударство.Если я включу включение / отключение, ману вообще не отображается.

Может кто-нибудь поделиться, как у него это работает?

ОБНОВЛЕНИЕ: я могу только показать меню, чтобы показатьесли я удалю DIV выше.Затем он покажет, но включение / отключение с помощью «myMenu» ничего не делает ...

Ответы [ 2 ]

0 голосов
/ 06 марта 2014

Наткнулся на ту же проблему, вы можете отключить триггер контекстного меню, например:

$(".dynatree-title").contextMenu(false)

И снова включите его с помощью True. dynatree-title - элемент, с которым связан триггер.

Надеюсь, это поможет всем, кто сталкивается с этим.

Документация по контекстному меню

0 голосов
/ 23 марта 2012

Я не смог отключить само меню, поэтому мне пришлось обработать его после выбора элемента:

switch( action ) 
{
    case "resubmit":
        //-- show verify dialog
      var selectedNode = $("#tree").dynatree("getActiveNode");
      if(selectedNode == null) 
           break;
      var parentTitle = selectedNode.parent.data.title;
      if( parentTitle == "Error" || parentTitle == "To Lab" || parentTitle == "From Lab" )
            $('#dialog-confirm').dialog('open');
             break;
    default:
             alert("Invalid action '" + action + "' to node " + node);
}

Я просто проверяю, что выбран правильный тип узла, чтобы можно было выполнить действие (посмотрите на parent, который является папкой с данными).

...