关于 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 相关文章推荐
很多人都是用下面的js刷新站IP和PV
Sep 05 Javascript
基于JavaScript 类的使用详解
May 07 Javascript
基于编写jQuery的无缝滚动插件
Aug 02 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
Nov 02 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
Apr 15 Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 Javascript
剖析Node.js异步编程中的回调与代码设计模式
Feb 16 Javascript
vue.js初学入门教程(1)
Nov 03 Javascript
Angular.js自动化测试之protractor详解
Jul 07 Javascript
JavaScript常用数学函数用法示例
May 14 Javascript
使用apifm-wxapi快速开发小程序过程详解
Aug 05 Javascript
javascript删除数组元素的七个方法示例
Sep 09 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
数字转英文
2006/12/06 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
Jquery 插件开发笔记整理
2011/01/17 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
python 不关闭控制台的实现方法
2011/10/23 Python
Python中AND、OR的一个使用小技巧
2015/02/18 Python
基于Python的接口测试框架实例
2016/11/04 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
详解python如何引用包package
2020/06/07 Python
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
关于Java finally的面试题
2016/04/27 面试题
节水倡议书范文
2014/04/15 职场文书
班级心理活动总结
2014/07/04 职场文书
2014年会计工作总结
2014/11/27 职场文书
2015年底工作总结范文
2015/05/15 职场文书
民事申诉状范本
2015/05/20 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
2015教师节通讯稿
2015/07/20 职场文书
百善孝为先:关于孝道的经典语录
2019/10/18 职场文书