【问题标题】:Fancytree lazyLoad: post eventFancytreelazyLoad:发布事件
【发布时间】:2014-09-19 21:31:09
【问题描述】:

我有一个带有以下lazyLoad函数的Fancytree:

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

加载惰性数据并显示新节点后,我需要对新节点执行一些操作。有没有允许我这样做的功能? postLazyLoad() 或类似的东西?我需要连接到 data.result 以获取新节点的键。

谢谢:)

【问题讨论】:

    标签: jquery events post fancytree jquery-lazyload


    【解决方案1】:

    您可能正在寻找loadChildren 事件:

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

    【讨论】:

    • 不幸的是 loadChildren 不符合要求,因为它在树首次加载时触发,以及在每个节点展开时触发,无论它是否是惰性的。
    • loadChilrennew 子节点被添加到父节点后触发,包括不可见的系统根节点,但不是在每次扩展时触发(仅当惰性节点扩展为第一次)。如果要修改 ajax 结果,可以使用postProcess 事件,但这是在渲染节点之前触发的。
    • 谢谢,我已纠正 :) 我在 loadChildren 事件中使用 isRoot() 来忽略系统根节点加载,因为我只需要该事件,因为每个惰性节点都已展开。
    • loadChildren 在子节点集成到 DOM 之前被触发。您可以更改子节点的数据,但无法更改节点的外观,也无法在其上注册事件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多