Jquery 结合jstree 动态生成一棵树,如果某一节点下目录超过500个,IE 会提示是否允许JS脚本运行,并且目录加载不全,大约只加载了300左右。
问题解决:生成的树是逐级加载的,在open函数中有一个生成节点的代码: 
代码 
复制代码 代码如下:
 
for (var i=0; i<data.length; i++) 
{ 
var n = TREE_OBJ.create(data[i], $(NODE)); 
if (onaddnode) onaddnode(n); 
} 
var firstChild = TREE_OBJ.children(NODE)[0]; 
if ($(firstChild).attr('id')==-1) 
TREE_OBJ.remove(firstChild); 
问题就出 TREE_OBJ.create函数上,这个函数很消耗性能。代码改成如下:
代码
复制代码 代码如下:
 
var children=""; 
for (var i=0; i<data.length; i++) 
{ 
children += TREE_OBJ.parseJSON(data[i]); 
} 
if (children != "") 
$(NODE).children('ul').html(children); 
var firstChild = TREE_OBJ.children(NODE)[0]; 
if ($(firstChild).attr('id')==-1) 
TREE_OBJ.remove(firstChild); 
您可能感兴趣的文章:
