2009-11-12 69 views
0

我需要能夠檢測圖標何時從其源容器外部放置到屏幕上的任何位置(不包括其他源容器,但這是未來要解決的問題)。我嘗試的方法是製作一個擴展到整個屏幕dojo.dnd.Target的div。它可以工作,但只有大約一半的時間。dojo拖放(DnD)不適用於圖像

我已經將問題隔離爲下面的一個簡潔示例。您可以通過嘗試將圖標從白框拖到灰色區域進行測試。我錯過了什麼嗎?

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"]}; 
    }}); 
});

感謝, 羅伯特

回答

0

我從尤金髮現了問題道場利息清單上。 DnD Sources/Targets不支持div的嵌套。我需要訴諸絕對定位..