2012-04-16 6 views
1

jstreeのコンテキストメニューの項目をクリックすることは可能ですか?jstreeのコンテキストメニューの項目をクリックすることは可能ですか?

私はJSONのファイルからこの

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

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

のようなコンテキストメニューをロードし、私は機能を評価およびそれを実行するためのコンテキストメニューの項目をクリックをキャプチャしたいと思います。それは可能なのでしょうか?

+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')} 
    } 
} 
関連する問題