关于 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类中定义原型方法的两种实现的区别
Mar 08 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
如何在MVC应用程序中使用Jquery
Nov 17 Javascript
js控制页面的全屏展示和退出全屏显示的方法
Mar 10 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
JS+CSS实现的蓝色table选项卡效果
Oct 08 Javascript
javascript基础语法学习笔记
Jan 04 Javascript
原生javascript实现图片无缝滚动效果
Feb 12 Javascript
JS模态窗口返回值兼容问题的完美解决方法
May 28 Javascript
浅谈jQuery中的checkbox问题
Aug 10 Javascript
layui异步加载table表中某一列数据的例子
Sep 16 Javascript
如何vue使用el-table遍历循环表头和表体数据
Apr 26 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
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
PHP实现动态压缩js与css文件的方法
2018/05/02 PHP
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
Python设计模式之观察者模式实例
2014/04/26 Python
python文件操作相关知识点总结整理
2016/02/22 Python
Python中实现最小二乘法思路及实现代码
2018/01/04 Python
对Python3中的input函数详解
2018/04/22 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
python实现图片插入文字
2019/11/26 Python
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
廉政教育心得体会
2014/01/01 职场文书
电教室标语
2014/06/20 职场文书
相亲活动方案
2014/08/26 职场文书
学子宴致辞大全
2015/07/27 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
PyMongo 查询数据的实现
2021/06/28 Python
Pillow图像处理库安装及使用
2022/04/12 Python