2015-01-10 106 views
0

我試圖使用拖放來重新排列列表中的元素(純javascript)。我想在拖動操作過程中設置「鬼元素」。由於我讀過沒有辦法如何做到這一點,所以我創建了重複元素(樣式爲我想要的),準確定位原始元素在拖動操作期間的位置,並且它的位置在ondrag事件內更新。自定義拖放HTML5

問題是,由於這個重複元素總是在光標下,所以不可能在其他元素上捕獲dragover或dragenter事件。無論DOM中的哪個部分是「重複」元素,它總是阻止ondragover。如果我移動重複元素,使其不在光標下方工作,但這會破壞無縫重複元素的用途。

有沒有什麼辦法可以忽略這個重複的元素,所以它下面的元素會得到ondragover事件呢?通常情況下,事件只是向重複元素鏈接到的父級發起泡沫。

+0

你能提供一個你已經嘗試過的小提琴或代碼示例嗎? – scniro

+0

感謝您的回覆。已經得到它的工作。這更多是一個概念問題。當然,如果我將元素正好放置在光標下,它將獲得所有事件。謝天謝地,指針事件css解決了這個問題。 –

回答

0

得到它的工作。看來,它的工作原理(鬼元素沒有阻止事件)如果類有:

.duplicateGhostElementClass { 
    pointer-events: none; 
} 

也許有人可以節省一定的時間。