关于 jQuery Easyui异步加载tree的问题解析


Posted in Javascript onDecember 06, 2016

想要实现从本地中加载json文件,通过事件来动态的插入到ul中时,遇到了一小bug

html中代码是这样的

<ul class="easyui-tree" id="tt"></ul>

js中的代码

$(".next-menu:nth-child(1) a").click(function() {
var $IDstr = $(this).attr("id"),
$treeIDNum = parseInt($(this).attr("treeID")),
jsonURL = "json/" + $IDstr + ".json",
node;
addAttr2Tree(jsonURL);
changeImgSrc($treeIDNum); 
});
});
function changeImgSrc(nodeID){
var node = $("#tt").tree('find', nodeID);
if(node){
$("#tt").tree('select', node.target);
}
if (node.attributes) {
$("#img-box").attr("src", node.attributes.url);
}
}
function addAttr2Tree(URL){
$("#tt").tree({
url: URL,
method: "get",
animate: true,
lines: true
});
}

起初是想通过一个按钮的点击事件来动态的加载tree的内容就是如上代码,addAttr2Tree 是用来将点击按钮时对应的本地json数据加到html中的ul标签中, changeImgSrc 是对tree节点的一些选中操作以及图片的加载,但是无论怎么调试,总是会出现一条错误

关于 jQuery Easyui异步加载tree的问题解析 

无法获取attributes属性!!!我反复确认attributes是完整无缺的放在json文件里的而且总是第一次点击按钮时才会出现这种错误,第二次及其以后,这种错误是没有的

后来我就想到,是不是因为json数据动态加载的速度比不上程序代码执行的速度?!

果然不出我所料!easyui中tree自带了一个方法onLoadSuccess 当数据成功加载时,才会执行一些操作
所以

$(".next-menu:nth-child(1) a").click(function() {
var $IDstr = $(this).attr("id"),
$treeIDNum = parseInt($(this).attr("treeID")),
jsonURL = "json/" + $IDstr + ".json",
node;
addAttr2Tree(jsonURL);
$("#tt").tree({
onLoadSuccess: function(){
changeImgSrc($treeIDNum);
}
});
});

代码改成这样就可以了。

以上所述是小编给大家介绍的jQuery Easyui异步加载tree的问题解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery入门知识简介
Mar 04 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
Aug 02 Javascript
ajax中get和post的说明及使用与区别
Dec 23 Javascript
jquery 单引号和双引号的区别及使用注意
Jul 31 Javascript
jquery中get和post的简单实例
Feb 04 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
Dec 16 Javascript
js实现点击获取验证码倒计时效果
Jan 28 Javascript
js 定义对象数组(结合)多维数组方法
Jul 27 Javascript
Angular.JS通过指令操作DOM的方法
May 10 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
Oct 18 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
May 23 Javascript
elementUI select组件使用及注意事项详解
May 29 Javascript
JavaScript之Vue.js【入门基础】
Dec 06 #Javascript
浅析JavaScript中作用域和作用域链
Dec 06 #Javascript
利用JS轻松实现获取表单数据
Dec 06 #Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 #Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
Dec 06 #Javascript
jQuery EasyUI 获取tabs的实例解析
Dec 06 #Javascript
如何防止INPUT按回车自动提交表单FORM
Dec 06 #Javascript
You might like
PHP加密解密字符串汇总
2015/04/26 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
2016/06/13 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
jQuery实现倒计时按钮功能代码分享
2014/09/03 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
小程序实现搜索框功能
2020/03/26 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
用python实现的线程池实例代码
2018/01/06 Python
python读写LMDB文件的方法
2018/07/02 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
python每天定时运行某程序代码
2019/08/16 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
Python远程方法调用实现过程解析
2020/07/28 Python
市场营销专业毕业生自荐信
2013/11/02 职场文书
理货员的岗位职责
2013/11/23 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
洗发水广告词
2014/03/13 职场文书
竞选学委演讲稿
2014/09/13 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
工作检讨书范文
2015/01/23 职场文书
2016年校长新年寄语
2015/08/17 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python
Python字典的基础操作
2021/11/01 Python
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技