JsTree json叶子检测

时间:2012-05-30 13:58:08

标签: jquery jstree

我有一个JsTree实例,其中所有子节点都通过json调用加载异步。

如何检测用户是否选择叶节点?

我尝试使用ajax的成功回调,但当然如果只是用“+”打开一个节点,也会调用它。是否有“子节点加载”之类的事件?

1 个答案:

答案 0 :(得分:2)

拉德克,你是对的。

最后,我提出了另一种解决方案。在请求服务器上的子节点时,我检测节点是否具有子节点。通过在响应dto中添加Flag,可以在客户端上使用此信息,如下所示:

success: function (data) { 
  return $.map(data.d, function (item) {
    if(item.HasChildren)
      return {
          data: item.data,
          state: item.state,
          attr: item.attr,
          children: item.children
      };
      else
          return {
          data: item.data,
          attr: item.attr
      };
  })
}

如果没有孩子'并且'州'响应中的属性jsTree将其识别为叶节点。现在,您可以在" node_select"中使用jsTree的.is_leaf(节点)方法。