Как добавить изображение к элементу в dojo/dnd/Source
Я создал решение dnd с исходным и целевым местоположением. Прямо сейчас перетаскивание является двунаправленным, я хотел бы, чтобы это была однонаправленная цель к источнику. Затем из источника добавьте изображение к каждому элементу (значок удаления), чтобы пользователи могли затем щелкнуть значок и отправить запись обратно к нужной цели.
Часть 1, я пытаюсь понять, как сделать dnd однонаправленным, а часть 2, как мне добавить изображение к каждому элементу.
Спасибо
2 ответа
Есть события, которые обрабатывают это в модуле dnd.
что касается 'part1', посмотрите это http://dojotoolkit.org/reference-guide/1.8/dojo/dnd.html и установите is'Source : false
на цель, которая должна быть только целью.
и с 'part2' перейдите на http://dojotoolkit.org/reference-guide/1.8/dojo/dnd.html и прочитайте о 'onDrop'. Если вы перегрузите эту функцию в вашем источнике "только для цели", вы получите доступ к удаляемым узлам.
onDrop: function(source, nodes, copy) {
dojo.forEach(nodes, function(node) {
node.innerHTML += "<button title=Delete> X </button>";
});
}
Это то, что я получил работать.
dojo.connect(selectedInstructions, "onDndDrop", instructions.addDeleteButton);
addDeleteButton: function (source, nodes, copy, target) {
if (source != target) {
dojo.forEach(nodes, function(node) {
var instructionId = node.getAttribute("id");
var oImg = document.createElement("img");
oImg.setAttribute('src', 'images/delete.png');
oImg.setAttribute('alt', 'Remove');
oImg.setAttribute('class', 'remove_instruction');
oImg.setAttribute('onClick', "javascript:instructions.removeInstruction('" + instructionId + "')");
document.getElementById(instructionId).appendChild(oImg);
});
}
},
Затем я попытался получить on
работать, так как connect
амортизируется, но мне не повезло. Я должен буду вернуться к нему позже, так как сейчас у меня время, чтобы получить этот код.
on(selectedInstructions, "onDrop", instructions.addDeleteButton);
aspect.after(selectedInstructions, "onDrop", instructions.addDeleteButton);
Жаль, что документация Dojo была лучше. Спасибо за добро сообществу и его поддержке, хотя.