2013-02-13 22 views
0

我跟着拖動&在線drop教程,並自行測試一下。然後我意識到了一個問題:所以我將image1拖到Box A,將Image2拖到Box B,然後我試圖將Box1從Box A拖到Box B,問題就出現了。如果我把圖片1放在圖片B的邊緣,一切正常,兩張圖片都在圖片B中,如果我將圖片1放在圖片2上,圖片1消失了。有誰知道如何防止這種情況?無論我如何放下它們,我都希望箱子裏既有圖像顯示,也有箱子圖像。HTML禁用拖放事件,div框子內容重疊

我的例子鏈接:http://qcn.freeiz.com/VisTool/DnDrp%20Test.htm

謝謝!

回答

1

瞭解event bubbling並瞭解ev.target最初是drop事件發生的元素,而不是您將偵聽器附加到的元素。檢查ev.target之前做什麼appendChildev.preventDefault()Here is a simple example

function dragDrop(ev) { 
    var eleid = ev.dataTransfer.getData("Text"); 
    var el = ev.target; 
    if (el.id != 'dropzone' && el.id != 'dropzone2') { 
     el = el.parentNode; 
    } 
    el.appendChild(document.getElementById(eleid)); 
    ev.preventDefault(); 
} 
+0

非常感謝你,它的工作原理! – user2067174 2013-02-14 00:23:32

+1

@ user2067174然後標記答案「接受」。 – Monsignor 2017-01-08 12:44:12