2013-02-08 1 views
1

У меня есть дерево ExtJs (3.4) с несколькими узлами, у каждого узла есть кратные дочерние элементы. Я хотел бы разрешить перетаскивание внутри каждого родителя, и я хочу отключить перетаскивание детей одного родителя другим родителям.Включить перетаскивание узлов только внутри одного и того же родителя

Есть ли простой и элегантный способ сделать это? В противном случае я думаю об использовании событий onNodeDrop и onNodeOver.

Спасибо

ответ

0

Используйте JQuery-UI .sortable() http://jqueryui.com/sortable/

Calling .sortable() без подключения списков позволит сортировать элементы только в пределах своего родителя.

+0

Извините, я не могу использовать jQuery, так как мое дерево привязано к библиотеке GeoExt. Мне нужно использовать деревья из ExtJS. –

+0

на самом деле вы могли бы использовать их вместе, поскольку у них есть отдельные пространства имен, и вы можете интегрировать обратный вызов GeoExt внутри замыкания для сортируемого обратного вызова. – runspired

+0

, но в противном случае я бы пошел с событием onNodeDrop, и если вам нужна обратная связь для «вы не можете бросить здесь» или «вы можете здесь», используйте событие onNodeOver. Несколько недель назад я написал свою собственную библиотеку перетаскивания с нуля, чтобы разобраться с деревом, которое jQuery-ui не мог обработать, и перекрестный браузер, используя только родные js, он все еще был только около 200 строк, и поскольку у вас есть пользовательские события, которые вы можете использовать, вероятно, будут еще проще – runspired

 Смежные вопросы

  • Нет связанных вопросов^_^