如何将图像添加到dojo / dnd / Source中的项目

时间:2012-08-22 21:01:43

标签: dojo dojo-dnd

我创建了一个具有源位置和目标位置的dnd解决方案。现在拖动是双向的,我想让它成为单向目标。然后从源添加图像到每个项目(删除图标),以便用户可以单击该图标并将记录发送回正确的目标。

第1部分,我试图了解如何制作dnd单向和第2部分,如何为每个项目添加图像。

由于

2 个答案:

答案 0 :(得分:0)

有些事件会在dnd模块中处理这个事件。

与“part1”一样,请参阅此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>";
    });
 }

答案 1 :(得分:0)

这就是我的工作。

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文档更好。感谢社区的善意和它的支持。

相关问题