0

ここにあるコンテキスト メニューとともに jQuery dynatree を使用しています。私が抱えている問題は、コンテキスト メニューまたはメニュー内の個々の項目の有効化/無効化を機能させることができないことです。プラグインは、私がこれを行うことができるはずだと言っています:

$("#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」を使用して有効/無効にしても何も起こりません...

4

2 に答える 2

0

同じ問題に遭遇しました。実際には、次のようにコンテキスト メニュー トリガーを無効にすることができます。

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

True で再度有効にします。dynatree-title は、トリガーがバインドされる要素です。

これが、これに出くわした他の誰かに役立つことを願っています。

コンテキスト メニューのドキュメント

于 2014-03-06T15:04:39.547 に答える
0

メニュー自体を無効にすることはできなかったので、アイテムが選択された後に処理する必要がありました。

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);
}

アクションを実行できるように、適切なタイプのノードが選択されていることを確認するだけです (格納フォルダーである親を見てください)。

于 2012-03-23T13:33:57.890 に答える