2014-09-19 32 views
0

我有一個Fancytree具有以下lazyLoad功能:Fancytree lazyLoad:事件後

lazyLoad: function (event, data) { 
    data.result = { 
     url: "/some/url", 
     data: { "Id": data.node.key } 
    }; 
}, 

我需要在新的節點上執行一些操作,一旦懶惰的數據加載和新的節點被顯示。有沒有一個功能可以讓我做到這一點? postLazyLoad()或類似的東西?我需要掛接到data.result以獲取新節點的密鑰。

謝謝:)

回答

0

您可能正在尋找loadChildren事件:

$("#tree").fancytree({ 
     ... 
     loadChildren: function(event, data) { 
     ... 
     }, 
+0

可惜loadChildren不符合要求,因爲它是觸發爲第一次加載樹,以及當每個節點都被展開,不管它是否懶惰。 – 2014-09-22 00:46:32

+0

loadChilren在* new *子項添加到父項(包括不可見的系統根節點)後觸發,但不在每個擴展項上(僅在首次展開惰性節點時)觸發。如果你想修改ajax結果,你可以使用'postProcess'事件,但是這會在渲染節點之前觸發*。 – mar10 2014-09-22 06:06:50

+0

謝謝,我站在更正:)我在'loadChildren'事件中使用'isRoot()'來忽略系統根節點加載,因爲我只需要事件,因爲每個惰性節點都展開。 – 2014-09-25 00:23:40