2014-09-19 83 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