2013-02-08 32 views
1

我有一個ExtJs(3.4)樹和多個節點,每個節點都有多個孩子。我希望允許每個父母都能拖放,並且我想禁止將父母的子女拖放到其他父母身上。啓用只在同一父母內的節點拖放

有沒有一個簡單而優雅的方式來做到這一點?否則,我正在考慮使用onNodeDrop和onNodeOver事件。

謝謝

回答

0

使用jQuery UI的.sortable()http://jqueryui.com/sortable/

調用.sortable()無需連接列表將讓你只能在其父項目進行排序。

+0

對不起,我不能使用jQuery,因爲我的樹被綁定到GeoExt庫。我絕對需要使用ExtJS中的樹。 – 2013-02-08 17:57:56

+0

實際上,您可以將兩者結合使用,因爲它們具有單獨的名稱空間,並且可以將GeoExt回調集成到可排序回調的閉包中。 – runspired 2013-02-08 20:06:10

+0

但除此之外,我會使用onNodeDrop事件,如果您想要「您不能放在這裏」或「您可以放在這裏」的反饋,請使用onNodeOver事件。我幾個星期前從零開始編寫了自己的拖放庫,以處理jQuery-ui無法處理的樹情況,並且僅使用本地js跨瀏覽器,它仍然只有大約200行,並且由於您擁有您可以使用它的自定義事件可能會更容易 – runspired 2013-02-08 20:07:54

相關問題