Перетаскивание dojo: не нужно добавлять новые узлы
У меня есть пользовательский интерфейс, в котором некоторые свойства представлены как перетаскиваемые элементы, и их можно перетаскивать с панели инструментов и перетаскивать на некоторый принимающий элемент, который затем обновляется. Для этого я использую Drag and Drop Dojo. У меня есть несколько Dojo Dnd Sources, Targets, несколько типов accept, все работает отлично.
За исключением того, что я не хочу фактически перемещать или копировать узлы источников к целям. Когда происходит сброс, я просто хочу запустить обработчик событий, чтобы я мог изменить нужную цель или сделать другие обновления в пользовательском интерфейсе в зависимости от ситуации.
Каков наилучший способ сделать это?
Я пробовал варианты нулевой функции создателя, вызывая отмена в обработчике onDrop, удаляя узлы, которые передаются обработчику onDrop, из их родителя, но ни один из этих способов не работал и не работал.
Спасибо за любую помощь.
1 ответ
Я только что написал этот код, который делает то, что вы хотите. (Хотя кажется, что вы пробовали что-то похожее, что не сработало?)
// Gobble up dropped nodes
target.on(
"Drop",
lang.hitch(
target,
function( source, nodes, copy )
{
this.selectAll().deleteSelectedNodes();
}
)
);