關(guān)于 jQuery Easyui異步加載tree的問(wèn)題解析
想要實(shí)現(xiàn)從本地中加載json文件,通過(guò)事件來(lái)動(dòng)態(tài)的插入到ul中時(shí),遇到了一小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
});
}
起初是想通過(guò)一個(gè)按鈕的點(diǎn)擊事件來(lái)動(dòng)態(tài)的加載tree的內(nèi)容就是如上代碼,addAttr2Tree 是用來(lái)將點(diǎn)擊按鈕時(shí)對(duì)應(yīng)的本地json數(shù)據(jù)加到html中的ul標(biāo)簽中, changeImgSrc 是對(duì)tree節(jié)點(diǎn)的一些選中操作以及圖片的加載,但是無(wú)論怎么調(diào)試,總是會(huì)出現(xiàn)一條錯(cuò)誤
無(wú)法獲取attributes屬性?。?!我反復(fù)確認(rèn)attributes是完整無(wú)缺的放在json文件里的而且總是第一次點(diǎn)擊按鈕時(shí)才會(huì)出現(xiàn)這種錯(cuò)誤,第二次及其以后,這種錯(cuò)誤是沒(méi)有的
后來(lái)我就想到,是不是因?yàn)閖son數(shù)據(jù)動(dòng)態(tài)加載的速度比不上程序代碼執(zhí)行的速度?!
果然不出我所料!easyui中tree自帶了一個(gè)方法onLoadSuccess 當(dāng)數(shù)據(jù)成功加載時(shí),才會(huì)執(zhí)行一些操作
所以
$(".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的問(wèn)題解析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- jQuery按需加載輪播圖(web前端性能優(yōu)化)
- jquery使用EasyUI Tree異步加載JSON數(shù)據(jù)(生成樹)
- 如何解決jQuery EasyUI 已打開Tab重新加載問(wèn)題
- jQuery生成假加載動(dòng)畫效果
- jquery加載頁(yè)面的方法(頁(yè)面加載完成就執(zhí)行)
- jquery.lazyload 實(shí)現(xiàn)圖片延遲加載jquery插件
- Jquery.LazyLoad.js修正版下載,實(shí)現(xiàn)圖片延遲加載插件
- jQuery頁(yè)面加載初始化常用的三種方法
- jquery實(shí)現(xiàn)頁(yè)面加載效果
- 詳解jQuery lazyload 懶加載
相關(guān)文章
jQuery學(xué)習(xí)筆記之 Ajax操作篇(二) - 數(shù)據(jù)傳遞
在前一篇介紹 jQuery Ajax 的數(shù)據(jù)加載中的例子都是從靜態(tài)的文件中取得數(shù)據(jù),而 Ajax 更大的價(jià)值在于與后端服務(wù)器進(jìn)行數(shù)據(jù)傳遞,動(dòng)態(tài)地請(qǐng)求和發(fā)送數(shù)據(jù)。2014-06-06
jquery 簡(jiǎn)單導(dǎo)航實(shí)現(xiàn)代碼
jquery簡(jiǎn)單導(dǎo)航實(shí)現(xiàn)代碼,需要的朋友可以參考下。2009-09-09
jquery實(shí)現(xiàn)效果比較好的table選中行顏色
這篇文章主要介紹了jquery table選中行顏色實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-03-03
jQuery控制網(wǎng)頁(yè)打印指定區(qū)域的方法
這篇文章主要介紹了jQuery控制網(wǎng)頁(yè)打印指定區(qū)域的方法,涉及jQuery操作html元素的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
jquery操作select詳解(取值,設(shè)置選中)
本篇文章主要是對(duì)jquery操作select(取值,設(shè)置選中)進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02

