关于 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 相关文章推荐
解放web程序员的输入验证
Oct 06 Javascript
JScript中的&quot;this&quot;关键字使用方式补充材料
Mar 08 Javascript
js实现checkbox全选和反选示例
May 01 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
Sep 13 Javascript
ECMAScript中函数function类型
Jun 03 Javascript
总结在前端排序中遇到的问题
Jul 19 Javascript
JavaScript中splice与slice的区别
May 09 Javascript
js canvas实现QQ拨打电话特效
May 10 Javascript
关于laydate.js加载laydate.css路径错误问题解决
Dec 27 Javascript
node.js文件上传重命名以及移动位置的示例代码
Jan 19 Javascript
javascript实现点击小图显示大图
Nov 29 Javascript
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
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
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
javascript中的继承实例代码
2011/04/27 Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
js实现动态改变字体大小代码
2014/01/02 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
微信开发 消息推送实现代码
2016/10/21 Javascript
浅谈jQuery before和insertBefore的区别
2016/12/04 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
python实现挑选出来100以内的质数
2015/03/24 Python
详细探究Python中的字典容器
2015/04/14 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
如何利用python 读取配置文件
2021/01/06 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
软件测试笔试题
2012/10/25 面试题
学历公证委托书
2014/04/09 职场文书
工程项目合作意向书
2015/05/08 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
小人国观后感
2015/06/11 职场文书
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技