-1

fancytree に右クリック コンテキスト メニューがあり、'disabled' プロパティの関数呼び出し内からノード オブジェクトを取得したいと考えています。したがって、ノード オブジェクトのデータに基づいて、条件付きでメニュー項目を無効にしたいと考えています。ただし、データ オブジェクトにはランダム jquery セレクターのみがあり、ノードまたはノード データ オブジェクトはありません。

        contextMenu: {
              menu: {
                'Cut': { 'name': 'Cut', 'icon': 'cut' },
                'Paste': { 'name': 'Paste', 'icon': 'paste',
                    'disabled' : function(action,data) 
                    { 
                        logMessage("Node: "+ data.node.title + " " + data.node.tooltip);
                        if (data.node.data.isAllowed == true)
                            return false;
                        else
                            return true; 
                    }   
                },
                'sep1': '---------',
                'RefreshTree': { 'name': 'Refresh Tree', 'icon': 'refresh' },
                'sep2': '---------',
                'RefreshNode': { 'name': 'Refresh Node', 'icon': 'refresh' }
              },
              actions: function(node, action, options) {
                  logMessage("Action ["+action+"] "+JSON.stringify(node.data));
              .....
4

1 に答える 1

1

わかった。答えがわかりました。

              menu: {
                'Cut': { 'name': 'Cut', 'icon': 'cut' },
                'Paste': { 'name': 'Paste', 'icon': 'paste',
                    'disabled' : function(action,data) 
                    { 
                        var node = $.ui.fancytree.getNode(data.$trigger);
                        logMessage("Node: "+ node.title + " " + node.tooltip);
                        if (node.data.isAllowed == true)
                            return false;
                        else
                            return true; 
                    }   
                },
于 2015-01-09T00:35:51.107 に答える