dojo拖放(DnD)不适用于图像

时间:2009-11-12 17:11:34

标签: dojo

我需要能够检测到其源容器外的图标何时被丢弃到屏幕上的任何位置(不包括其他源容器,但这是未来要解决的问题)。我正在尝试的方法是创建一个div,它将整个屏幕扩展为dojo.dnd.Target。它的工作原理只有大约1/2的时间。

我已将问题分解为下面的一个紧凑示例。您可以尝试将图标从白框拖到灰色区域进行测试。我错过了什么吗?

HTML:

<div id="canvas" style="width: 100%; height: 100%; background-color: gray">
    <div id="box" style="width: 200px; height: 175px; background-color: white;"></div>
</div>

JS:

dojo.addOnLoad(function(){
    var src = new dojo.dnd.Source("box", {creator: function(item, avatar) {
        var node = (avatar) ? dojo.create("span",{innerHTML:"avatar"}) : item.icon;
        return {node:node, data:item, type:["custom"]};
    }});

    src.insertNodes(false, [{icon:dojo.create("img", {src:"action.png"})}]);

    new dojo.dnd.Target("canvas",{accept:["custom"], creator:function(item){
        console.debug("Drop to canvas successful");
        return {node:dojo.create("span"), data:item, type:["custom"]};
    }});
});

谢谢, 罗伯特

1 个答案:

答案 0 :(得分:0)

我在dojo兴趣列表中发现了Eugene的问题。 DnD源/目标不支持嵌套div。我需要求助于绝对定位..