jQuery EasyUI tree 使用拖拽時(shí)遇到的錯(cuò)誤小結(jié)
在我使用tree拖拽時(shí)總是失敗,控制臺(tái)輸出了很多錯(cuò)誤。
經(jīng)過(guò)跟蹤分析發(fā)現(xiàn)這是一個(gè)由于特殊配置導(dǎo)致的錯(cuò)誤。
原先錯(cuò)誤的代碼如下:
$('#tree').tree({
//省略其他
loadFilter: function(data, parent){
return data.rows;
}
});
由于我后臺(tái)返回值并不是一個(gè)直接適合tree使用的數(shù)據(jù),需要從中取出rows才可以,所以就有了這段代碼。
而 EasyUI 出錯(cuò)的原因就在于當(dāng)拖動(dòng)時(shí),拖動(dòng)方法中仍然會(huì)調(diào)用loadFilter方法,如下圖代碼:

EasyUI在前面的處理中,已經(jīng)將data處理為了數(shù)組,所以當(dāng)調(diào)用loadFilter方法時(shí),由于返回的data.rows,肯定是undefined,而不是數(shù)組,因此在后續(xù)對(duì)data操作時(shí)就會(huì)出錯(cuò),導(dǎo)致拖動(dòng)失敗,而且整棵樹都出現(xiàn)問(wèn)題。
解決的方法也很簡(jiǎn)單,將loadFilter方法改為可以適配默認(rèn)情況即可:
loadFilter: function(data, parent){
if($.isArray(data)){
return data;
}
return data.rows;
}
主要就是判斷如果data是個(gè)數(shù)組就直接返回,否則仍然返回我自己的data.rows。
以上所述是小編給大家介紹的jQuery EasyUI tree 使用拖拽時(shí)遇到的錯(cuò)誤小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
基于jquery的一個(gè)拖拽到指定區(qū)域內(nèi)的效果
這兩天一直在整這個(gè)拖拽的效果,既然學(xué)習(xí)就要把一個(gè)特效的各個(gè)方面考慮周全,這樣才學(xué)到真正的知識(shí)??刹?,又整理了一個(gè) 拖拽的特效。2011-09-09
JQuery slideshow的一個(gè)小問(wèn)題(如何發(fā)現(xiàn)及解決過(guò)程)
在做一個(gè)網(wǎng)頁(yè)homepage的時(shí)候,想用slideshow[1]做圖片切換效果,在打開頁(yè)面所以的正常測(cè)試都沒問(wèn)題:當(dāng)瀏覽器同時(shí)打開多個(gè)tab,停留他tab中的頁(yè)面一段時(shí)間后,會(huì)出現(xiàn)圖片是最后一張圖片,針對(duì)這個(gè)問(wèn)題,本文給予了詳細(xì)的解決方法,感興趣的朋友可以了解下2013-02-02
jQuery右側(cè)選項(xiàng)卡焦點(diǎn)圖片輪播特效代碼分享
這篇文章主要介紹了jQuery右側(cè)選項(xiàng)卡焦點(diǎn)圖片輪播特效,一段清新可愛的焦點(diǎn)圖輪播代碼,有需要的小伙伴可以參考下2015-09-09
jquery 給動(dòng)態(tài)生成的標(biāo)簽綁定事件的幾種方法總結(jié)
下面小編就為大家分享一篇jquery 給動(dòng)態(tài)生成的標(biāo)簽綁定事件的幾種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
jquery點(diǎn)擊獲取動(dòng)態(tài)數(shù)據(jù)進(jìn)行傳參問(wèn)題
這篇文章主要介紹了jquery點(diǎn)擊獲取動(dòng)態(tài)數(shù)據(jù)進(jìn)行傳參問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
jQuery移除元素自動(dòng)解綁事件實(shí)現(xiàn)思路及代碼
用jQuery將元素移除的基本方法常用的有三個(gè),一個(gè)是remove()方法,一個(gè)是html()方法,一個(gè)是empty()方法2014-05-05

