質問

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>

メニューには、有効化/無効にしない場合は正常に表示されますが、メニュー項目が利用できない場合があるため、状態を制御できる必要があります。 Enable/Disableを入れた場合、Manuはまったく表示されません。

誰もがこれをどのように機能させたかを共有できますか?

更新:上記のdivを削除した場合にのみメニューを表示できます。その後、表示されますが、「mymenu」を使用して有効/無効になります...

役に立ちましたか?

解決 2

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

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

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

他のヒント

同じ問題に出くわしましたが、実際にコンテキストメニューのトリガーを無効にすることができます。

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

そして、それを本当のことで再び可能にします。 Dynatree-Titleは、トリガーがバインドされる要素です。

これがこれにつまずく他の人に役立つことを願っています。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top