私の問題は、ダイナツリー ノードを左クリックし、別のダイナツリー ノードを右クリックしてコンテキスト メニューを表示するたびに、左クリックしたノードが青色で強調表示されたままになるため、最終的に 2 つのノードが青色になることです。その後、連続するノードを右クリックすると、強調表示は正しく機能しますが、左クリックしたノードは強調表示されたままになります。
左クリック処理は、マウスアップ時に前のノードをクリアします。コンテキストメニューの処理を開始します
document.oncontextmenu=contextMenu
マウスアップでも呼び出されます。
右ボタンの mouseup イベントをキャプチャして、左クリックしたノードの状態を変更すると考えてコンテキスト メニュー ノードをアクティブにしようとしましたが、そうではありませんでした。
$("#tree").mouseup(function(e){
if(e.button == 2){
e.target.setActive();// right mouse up
}
});
別のノードが右クリックされたときに、最後に左クリックされたノードをハイライト解除するにはどうすればよいですか? 一度に 2 つのノードが強調表示されるのは正しくありません。dynatree コンテキスト メニューのデモでは、別のノードを右クリックしたときに、以前に左クリックしたノードのハイライトが解除されないことに気付きました。これは仕様によるものですか?? あなたはそれを回避できますか?
ありがとう、アル