我创建了一个具有源和目标位置的 dnd 解决方案。现在拖动是双向的,我想让它成为源的单向目标。然后从源向每个项目添加一个图像(删除图标),以便用户可以单击该图标并将记录发送回正确的目标。
第 1 部分,我试图了解如何使 dnd 单向和第 2 部分,如何为每个项目添加图像。
谢谢
这就是我的工作。
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 文档更好。感谢社区和它的支持。
在 dnd 模块中有一些事件可以处理这个问题。
至于“第 1 部分”,请参阅此http://dojotoolkit.org/reference-guide/1.8/dojo/dnd.html#id6并设置 is'Source : false
目标,该目标应该只是一个目标。
并使用“part2”访问http://dojotoolkit.org/reference-guide/1.8/dojo/dnd.html#id8并阅读有关“onDrop”的信息。如果在“仅限目标”源中重载该函数,您将可以访问正在删除的节点。
onDrop: function(source, nodes, copy) {
dojo.forEach(nodes, function(node) {
node.innerHTML += "<button title=Delete> X </button>";
});
}