宝哥软件园

jQuery易用户异步加载树的分析

编辑:宝哥软件园 来源:互联网 时间:2021-09-07

当您想要在本地加载json文件并通过事件将它们动态插入ul时,您会遇到一个小错误

html中的代码是这样的

ul class=' easui-tree ' id=' TT '/uljs中的代码

$('.next-menu : th-child(1)a’)。单击(function() {var $IDstr=$(this))。attr('id '),$treeIDNum=parseInt($(this)。attr('treeID ')),jsonURL='json/' $IDstr '。json ',节点;addattr 2 tree(JSonurl);changeImgSrc($ treidnum);});});函数changeImgSrc(nodeID){ var node=$(' # TT ')。树(' find ',nodeID);if(node){$('#tt ')。tree('select ',node . target);} if(node . attributes){ $(' # img-box ')。attr('src ',node . attributes . URL);} }函数addAttr2Tree(URL){$('#tt ')。tree({url: URL,method: 'get ',animate: true,line : true });}首先我想通过一个按钮的click事件动态加载tree的内容,就是上面的代码。addAttr2Tree用于在点击按钮时将相应的本地json数据添加到html中的ul标签中,changeImgSrc用于选择树节点并加载图片,但无论如何调试,总会出现错误

无法获取属性属性!我已经反复确认,属性完全放在json文件中,并且第一次单击按钮时总是会出现此错误,第二次及以后不会出现此错误

后来我想,是不是因为json数据动态加载的速度跟程序代码执行的速度不匹配?

果然!easyui中的Tree附带了一个onLoadSuccess方法,它只会在数据成功加载时执行一些操作,所以

$('.next-menu : th-child(1)a’)。单击(function() {var $IDstr=$(this))。attr('id '),$treeIDNum=parseInt($(this)。attr('treeID ')),jsonURL='json/' $IDstr '。json ',节点;addattr 2 tree(JSonurl);$('#tt ')。tree({ onloadsuccess : function(){ changeImgSrc($ treidnum);}});});像这样修改代码。

以上是边肖介绍的jQuery Easyui对树的异步加载的分析。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

更多资讯
游戏推荐
更多+