关于 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的弹出警告对话框美化插件(警告,确认和提示)
Jun 10 Javascript
JQuery datepicker 使用方法
May 20 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
Dec 16 Javascript
jQuery遍历json中多个map的方法
Feb 12 Javascript
JQuery实现防止退格键返回的方法
Feb 12 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
Dec 19 Javascript
vue自定义filters过滤器
Apr 26 Javascript
推荐一个基于Node.js的表单验证库
Feb 15 Javascript
Vue 实现手动刷新组件的方法
Feb 19 Javascript
利用JavaScript模拟京东按键输入功能
Dec 01 Javascript
微信小程序实现拍照和相册选取图片
May 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
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
js玩一玩WSH吧
2007/02/23 Javascript
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
微信小程序排坑指南详解
2018/05/23 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
django使用图片延时加载引起后台404错误
2017/04/18 Python
python内置模块collections知识点总结
2019/12/19 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
python小白学习包管理器pip安装
2020/06/09 Python
哪些是python中web开发框架
2020/06/17 Python
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
婚庆公司计划书
2014/09/15 职场文书
股东出资证明书(正规版)
2014/09/24 职场文书
银行给客户的感谢信
2015/01/23 职场文书
2015年植树节活动总结
2015/02/06 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书