关于 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 相关文章推荐
仿163填写邮件地址自动显示下拉(无优化)
Nov 05 Javascript
Jvascript学习实践案例(开发常用)
Jun 25 Javascript
Windows8下搭建Node.js开发环境教程
Sep 03 Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 Javascript
jQuery easyui刷新当前tabs的方法
Sep 23 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 Javascript
在Vue mounted方法中使用data变量详解
Nov 05 Javascript
js中forEach,for in,for of循环的用法示例小结
Mar 14 Javascript
JS数组Reduce方法功能与用法实例详解
Apr 29 Javascript
Vue 同步异步存值取值实现案例
Aug 05 Javascript
JavaScript实现世界各地时间显示
Sep 07 Javascript
javascript拖曳互换div的位置实现示例
Jun 28 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
PHP5函数小全(分享)
2013/06/06 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
PHP扩展开发入门教程
2015/02/26 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
2017/02/03 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
jquery获取复选框checkbox的值的简单实现方法
2016/05/26 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
2018/11/30 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
python如何设置静态变量
2020/09/07 Python
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
小学运动会入场式解说词
2014/02/18 职场文书
搞笑车尾标语
2014/06/23 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
后勤工作个人总结
2015/02/28 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
springboot中一些比较常用的注解总结
2021/06/11 Java/Android