Перетаскивание 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();
        }
    )
);
Другие вопросы по тегам