2015-01-10 108 views
0

我试图使用拖放来重新排列列表中的元素(纯javascript)。我想在拖动操作过程中设置“鬼元素”。由于我读过没有办法如何做到这一点,所以我创建了重复元素(样式为我想要的),准确定位原始元素在拖动操作期间的位置,并且它的位置在ondrag事件内更新。自定义拖放HTML5

问题是,由于这个重复元素总是在光标下,所以不可能在其他元素上捕获dragover或dragenter事件。无论DOM中的哪个部分是“重复”元素,它总是阻止ondragover。如果我移动重复元素,使其不在光标下方工作,但这会破坏无缝重复元素的用途。

有没有什么办法可以忽略这个重复的元素,所以它下面的元素会得到ondragover事件呢?通常情况下,事件只是向重复元素链接到的父级发起泡沫。

+0

你能提供一个你已经尝试过的小提琴或代码示例吗? – scniro

+0

感谢您的回复。已经得到它的工作。这更多是一个概念问题。当然,如果我将元素正好放置在光标下,它将获得所有事件。谢天谢地,指针事件css解决了这个问题。 –

回答

0

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

.duplicateGhostElementClass { 
    pointer-events: none; 
} 

也许有人可以节省一定的时间。