在本文將介紹treepanel元件非常有意思的乙個功能:結點拖放。要使treepanel元件的結點可以拖放非常簡單,只需要將treepanel類的enabledd選項引數設為true即可。當然,要想實現更複雜的功能,還需要配合其他的引數和事件。
拖放結點包含了兩個動作,拖(drag)和放(drop)。拖很好理解,就是將結點拖起來,拖哪乙個結點的效果都是一樣的。不過放結點就比較複雜了。放結點可分為如下兩種情況:
下面的設定將treepanel元件設為結點可拖動狀態。
在瀏覽器位址列中輸入如下的
當顯示出樹形結點時,按上面的拖動方法來拖動結點,會出現如圖1、圖
2和圖3所示的拖動效果。
圖1【英語】結點將作為【計算機】的子結點
圖2 【英語】結點將作為【計算機】的兄弟結點,並移到【計算機】結點的前面(
above
拖放圖3 兩個葉子結點互動位置(
below
在nodedragover事件方法中有乙個引數,通過該引數值的target屬性可以獲得拖動結點放置的目標結點。並在nodedragover方法中將該結點的leaf屬性值設為false,**如下:
tree.on("nodedragover",
function(e));
顯示樹形結構後,將某個結點拖動到葉子結點處,然後放下,就會在葉子結點下生成乙個子結點,而且葉子結點的圖示會變成非葉子結點的圖示,如圖4所示。
圖4 使葉子結點可以
一書的相關章節。
銀河使者
Flex中的拖動技術
flex元件內建了處理拖拽事件的介面,有些控制項已經實現了拖拽功能,比如 list datagrid menu horizontallist printdatagrid tilelist tree,在設定相關的拖拽屬性後,它們都可以在相同型別的組 件之間利用滑鼠來實現資料的轉移。allowdrags...
extjs簡單使用
公司有個websql.由於設計的是大眾化需要。使用的時候需要頻繁的切換,自己使用他的資料來源開了個新的針對自己部門需要的頁面。也是使用的extjs.所以簡單記錄一下。function gridtest var cm new ext.grid.columnmodel cmlode var json v...
ExtJS初探 在專案中使用ExtJS
今天extjs官網發布了extjs最新正式版4.2.1。extjs為開發者在開發富客戶的b s應用中提供豐富的ui元件,具有統一的主題,便於快速開發,提高效率。但顯然它並不適合互聯 的開發。builds 壓縮後的extjs 體積更小,更快 docs 開發文件 examples 官方演示示例 loca...