zTree 是一個(gè)依靠 jQuery 實(shí)現(xiàn)的多功能 “樹插件”。優(yōu)異的性能、靈活的配置、多種功能的組合是 zTree 最大優(yōu)點(diǎn)。
zTree 是開源免費(fèi)的軟件(MIT 許可證)。zTree v3.0 將核心代碼按照功能進(jìn)行了分割,不需要的代碼可以不用加載
采用了 延遲加載 技術(shù),上萬(wàn)節(jié)點(diǎn)輕松加載,即使在 IE6 下也能基本做到秒殺
兼容 IE、FireFox、Chrome、Opera、Safari 等瀏覽器
支持 JSON 數(shù)據(jù)
支持靜態(tài) 和 Ajax 異步加載節(jié)點(diǎn)數(shù)據(jù)
支持任意更換皮膚 / 自定義圖標(biāo)(依靠css)
支持極其靈活的 checkbox 或 radio 選擇功能
提供多種事件響應(yīng)回調(diào)
靈活的編輯(增/刪/改/查)功能,可隨意拖拽節(jié)點(diǎn),還可以多節(jié)點(diǎn)拖拽喲
在一個(gè)頁(yè)面內(nèi)可同時(shí)生成多個(gè) Tree 實(shí)例
簡(jiǎn)單的參數(shù)配置實(shí)現(xiàn) 靈活多變的功能,為了更好的優(yōu)化及擴(kuò)展zTree, 因此決定升級(jí)為v3.x,并且對(duì)之前的v2.x不兼容,會(huì)有很多結(jié)構(gòu)上的修改,對(duì)此深感無(wú)奈與抱歉,請(qǐng)大家諒解。
更新日志:
*2012.11.20* v3.5
* 【優(yōu)化】原先的 clone 方法 (特別感謝:愚人碼頭)
* 【修改】隱藏父節(jié)點(diǎn)后,使用 expandAll 方法導(dǎo)致 父節(jié)點(diǎn)展開的 bug
* 【修改】使用 jQuery v1.7 以上時(shí),設(shè)置 zTree 容器 ul 隱藏(visibility: hidden;)后, 調(diào)用 selectNode 導(dǎo)致 IE 瀏覽器報(bào)錯(cuò) Can't move focus 的 bug
* 【修改】正在異步加載時(shí),執(zhí)行 destory 或 init 方法后,異步加載的節(jié)點(diǎn)影響新樹的 bug
* 【修改】方法 reAsyncChildNodes 在 refresh 的時(shí)候未清空內(nèi)部 cache 導(dǎo)致內(nèi)存泄露 的 bug
* 【修改】批量節(jié)點(diǎn)拖拽到其他父節(jié)點(diǎn)內(nèi)(inner)時(shí),導(dǎo)致順序反轉(zhuǎn) 的 bug
* 【修改】對(duì)于 使用 html格式的 節(jié)點(diǎn)無(wú)法觸發(fā) 雙擊事件 的 bug
* 【修改】onCheck 回調(diào)中的 event ,保證與觸發(fā)事件中的 event 一致
* 【修改】異步加載時(shí),在 onNodeCreated 中執(zhí)行 selectNode 后,導(dǎo)致節(jié)點(diǎn)折疊的 bug
* 【修改】API 中 dataFilter 的參數(shù)名稱 childNodes -> responseData
* 【修改】API 中 iconSkin 的 舉例內(nèi)容
* 【修改】API 中 chkDisabled 的說(shuō)明
* 【修改】Demo 中 index.html 內(nèi)的 loadReady 重復(fù)綁定問題
*2012.09.03* v3.4
* 【增加】 Demo —— OutLook 樣式的左側(cè)菜單
* 【增加】清空 zTree 的方法 $.fn.zTree.destory(treeId) & zTree.destory()
* 【修改】core核心文件內(nèi) _eventProxy 方法中獲取 tId 的方法,提高 DOM 的靈活性
* 【修改】初始化時(shí) 多層父節(jié)點(diǎn)的 checkbox 半選狀態(tài)計(jì)算錯(cuò)誤的 bug
* 【修改】同時(shí)選中父、子節(jié)點(diǎn)后,利用 getSelectedNodes 獲取選中節(jié)點(diǎn)并利用 removeNode 刪除時(shí)報(bào)錯(cuò)的 bug
* 【修改】treeNode.chkDisabled / nocheck 屬性,支持字符串格式的 "false"/"true"
* 【修改】異步加載模式下無(wú)法利用 server 返回 xml 并且 在 dataFilter 中繼續(xù)處理的 bug
* 【修改】title 只允許設(shè)置為 string 類型值的問題。 修正后允許設(shè)置為 number 類型的值
* 【修改】zId 計(jì)數(shù)規(guī)則 & Cache 保存,減少 IE9 的 bug 造成的內(nèi)存泄漏
* 【修改】API 頁(yè)面搜索功能導(dǎo)致 IE 崩潰的 bug
*2012.07.16* v3.3
* 【增加】擴(kuò)展庫(kù) exhide -- 節(jié)點(diǎn)隱藏功能
* 【修改】getNodesByFilter 方法,添加 invokeParam 自定義參數(shù)
* 【修改】拖拽中測(cè)試代碼未刪除,導(dǎo)致出現(xiàn)黃顏色的 iframe 遮罩層的 bug
* 【修改】延遲加載方法 對(duì)于使用 expandAll 進(jìn)行全部展開時(shí),導(dǎo)致 onNodeCreated 回調(diào) 和 addDiyDom 方法觸發(fā)過(guò)早的 bug
* 【修改】使用 moveNode 移動(dòng)尚未生成 DOM 的節(jié)點(diǎn)時(shí),視圖會(huì)出現(xiàn)異常的 bug
* 【修改】刪除節(jié)點(diǎn)后,相關(guān)節(jié)點(diǎn)的 isFirstNode 屬性未重置的 bug
* 【修改】getPreNode(),getNextNode() 方法在對(duì)于特殊情況時(shí)計(jì)算錯(cuò)誤的 bug
* 【修改】設(shè)置 title 之后,如果重新將 title 內(nèi)容設(shè)置為空后,會(huì)導(dǎo)致無(wú)法更新 title 的 bug
* 【修改】針對(duì) setting.check.chkStyle=="radio" && setting.check.radioType=="all" 的情況時(shí),getTreeCheckedNodes方法優(yōu)化,找到一個(gè)結(jié)果就 break
* 【修改】zTreeObj.getCheckedNodes(false) 在 radioType = "all" 時(shí)計(jì)算錯(cuò)誤的 bug
* 【修改】完善 API 中 beforeDrop / onDrop 的關(guān)于 treeId 的說(shuō)明