关于 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 常见开发使用技巧总结
Dec 26 Javascript
潜说js对象和数组
May 25 Javascript
Javascript面向对象设计一 工厂模式
Dec 20 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
Sep 21 Javascript
Google 地图叠加层实例讲解
Aug 06 Javascript
轻松掌握JavaScript状态模式
Sep 07 Javascript
jQuery复合事件结合toggle()方法的用法示例
Jun 10 jQuery
详解微信小程序 登录获取unionid
Jun 27 Javascript
解决vue router使用 history 模式刷新后404问题
Jul 19 Javascript
使用JS模拟锚点跳转的实例
Feb 01 Javascript
Vue核心概念Getter的使用方法
Jan 18 Javascript
基于vue、react实现倒计时效果
Aug 26 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基础知识介绍
2013/09/17 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
JS Array对象入门分析
2008/10/30 Javascript
js操作select控件的几种方法
2010/06/02 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
2015/11/06 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
对于Python的框架中一些会话程序的管理
2015/04/20 Python
pandas中Timestamp类用法详解
2017/12/11 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
python让列表倒序输出的实例
2018/06/25 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
毕业生求职的求职信
2013/12/05 职场文书
少年闰土教学反思
2014/02/22 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
公司保密承诺书
2014/03/27 职场文书
员工辞职信范文大全
2015/05/12 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电