2012-04-16 2 views
1

Можно ли щелкнуть элемент контекстного меню jstree?Можно ли щелкнуть элемент контекстного меню jstree?

загружает из файла JSON это ContextMenu как этого

{ 
    "item1" : { 
     "label" : "item 1", 
     "action" : "function(){alert('item 1')}" 

    }, 
    "item2" : { 
     "label" : "item 2", 
     "action" : "function(){alert('item 2')}" 
    } 
} 

я хотел бы захватить щелчок по пункту ContextMenu для Eval, чтобы функции и выполнить его. Возможно ли это сделать?

+0

могли бы вы дать нам реальный код загрузки вашего контекстного меню? – mattytommo

+0

@mattytommo ... Я добавил свое решение и как я загружаю контекстное меню – Webman

+0

Ах, хорошо, круто, пойдите и отметьте себя как ответ :) – mattytommo

ответ

0

Я решил таким образом:

$("#tree").jstree({ 
    "plugins" : [ "json_data"], 
    "json_data" : { 
     "ajax" : { 
     "type": 'GET', 
     "url": "json_data.json"; 
     "success": function (new_data) { 
        return new_data; 
      } 
     } 
     }, 
     "contextmenu" : { 
     "items" : customMenu 
     } 
}); 


function customMenu(node) { 
    var items = {}; 

    $.ajax({ 
     url: "contextmenu.json", 
     dataType: 'script', 
     async : false, 
     success : function(script){  
      eval(script) 
      items = menuItems;     
     } 
    }); 

    return items; 
} 



// file: "contextmenu.json" 
var menuItems = { 
    "item1" : { 
     "label" : "item 1", 
     "action" : function(){alert('item 1')} 

    }, 
    "item2" : { 
     "label" : "item 2", 
     "action" : function(){alert('item 2')} 
    } 
} 
Смежные вопросы