这是关于
jsTree jQuery plugin.我一直在努力解决这个问题一段时间才意识到这一点
不(本机地)可以这样做,所以我想到了下面我的问题的解决方案(这是行不通的).
不(本机地)可以这样做,所以我想到了下面我的问题的解决方案(这是行不通的).
我有一个使用带有ajax的json_data插件的树.一旦你打开
一个特定的节点,服务器的结果是一个超过1000的数组
json节点.响应非常快,但渲染本身需要
一段时间(用户体验是他得到了烦人的“脚本”
响应 – 停止脚本/继续“消息.
我想到的解决方案是限制发回的结果
服务器数量较少(比如200)并使用一些“显示更多”
label(或使用jQuery滚动事件)来获取下一个200.
但是,在每个节点上使用jstree.create似乎是
非常慢.
然后我注意到这个线程on the jsTree google group
其中Ivan建议可以一次创建所有节点
parse_json函数 – 这对我不起作用.
$.ajax({ // send data to server in order to get the relevant json back }(),success : function (r) { var parent_node = data.inst._get_parent(data.rslt.obj); var id = parent_node.attr("id"); $("#root_tree").jstree("_parse_json",r,parent_node ); $("#root_tree").jstree("clean_node",parent_node,false); } });
上面的示例不呈现json并将子项添加到
父节点.
我会高度赞赏任何其他方法或任何人都可以指出
我做错了什么.
再次,使用:
$.each(r,function(i,node) { var id = parent_node.attr("id"); $("#root_tree").jstree("create","#"+id,"last",node,false,true); });
有效,但非常慢(比渲染所有1000个节点慢)
一起).
谢谢