2014-10-28 1 views

답변

1

이것은 거의 트릭을 수행했습니다.

$("#housingTree").jstree({ 
      "plugins": ["themes", "html_data", "ui", "crrm", "hotkeys", "contextmenu"], 

      "core": { "initially_open": ["phtml_1"] }, 


      "contextmenu": { 
       "items": function ($node) { 

        return { 
         "Rename": { 
          "label": "Rename", 
          "action": function (obj) { this.rename(obj); } 
         }, 
         "Create": { 
          "label": "Create", 
          "action": function (obj) { this.create(obj); } 
         }, 
         "Delete": { 
          "label": "Delete", 
          "action": function (obj) { this.remove(obj); } 
         }, 
         "Cut": { 
          "label": "Cut", 
          "action": function (obj) { this.cut(obj); } 
         }, 
         "Paste": { 
          "label": "Paste", 
          "action": function (obj) { this.paste(obj); } 
         } 
        }; 
       } 
      } 
     }) 
1

나는 액션 기능은 기본 기능 또는 사용자 정의 함수가 있는지 잘 모릅니다,하지만 나를 위해 그 didnt 한 작업은 ... 어쨌든 귀하의 게시물이 올바른 경로에 날을 설정 않았다! 감사!

이 내가 다른 게시물을 찾은 후, 그것을 어떻게 있습니다 :

"contextmenu": { 
     "items": function ($node) { 
      var tree = $("#html1Tree").jstree(true); 
      return { 
       "Rename": { 
        "label": "Rename", 
        "action": function (obj) { 
         tree.edit($node); 
        } 
       }, 
       "Create": { 
        "label": "Create", 
        "action": function (obj) { 
         $node = tree.create_node($node); 
         tree.edit($node); 
        } 
       } 
      }; 
     } 
    } 

jsTree and Context Menu: modify items

1

짧은 접근 방식은

"contextmenu": { 
    "items": function(node) { 
      var defaultItems = $.jstree.defaults.contextmenu.items(); 
      console.log("default items : "+JSON.stringify(defaultItems)); 
      delete defaultItems.ccp.submenu.copy; 
      return defaultItems; 
     } 
    }, 

당신은 (이 defaultItems를) CONSOLE.LOG 할 수 있습니다. 그것은 객체의 json 표현을 인쇄합니다. 다른 속성도 수정할 수 있습니다.