2013-02-08 29 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

相关问题