jquery dynatreeのコンテキストメニューを無効/有効化しない
-
28-10-2019 - |
質問
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は、トリガーがバインドされる要素です。
これがこれにつまずく他の人に役立つことを願っています。
所属していません StackOverflow