Javascript HTML5拖放“dragover”事件

Javascript HTML5拖放“dragover”事件,javascript,html,drag-and-drop,html5-draggable,Javascript,Html,Drag And Drop,Html5 Draggable,我正在构建一个web应用程序,其功能类似于Adobe Photoshop或Illustrator等流行软件的浮动面板功能。我正在使用HTML5拖放API来实现这一点 首先,为了更新我正在拖动的面板,我正在沿着这些线做一些事情 el.style.left = (x - offsetX) + 'px'; el.style.top = (y - offsetY) + 'px'; 现在,这一切都很好!但问题是我想在另一个块元素上捕获dragover事件,如下所示 dropzone.addEventLi

我正在构建一个web应用程序,其功能类似于Adobe Photoshop或Illustrator等流行软件的浮动面板功能。我正在使用HTML5拖放API来实现这一点

首先,为了更新我正在拖动的面板,我正在沿着这些线做一些事情

el.style.left = (x - offsetX) + 'px';
el.style.top = (y - offsetY) + 'px';
现在,这一切都很好!但问题是我想在另一个块元素上捕获dragover事件,如下所示

dropzone.addEventListener('dragover', function() { ... }, false);
问题是,只要我更新拖动元素的位置,事件就不会被触发。但是当我注释掉拖动元素的重新定位时,事件确实会被触发,就像这样

// Commenting out the repositioning...

// el.style.left = (x - offsetX) + 'px';
// el.style.top = (y - offsetY) + 'px';
现在,对我来说,这感觉就像我拖动的元素阻碍了事件的发生

如何继续拖动块元素,但同时触发dragover事件

看看这本书

在Chrome 36.0.1985.125中工作


谢谢

这里混合了两种类型的dnd:old school element.style重新定位和html5 dnd事件,它们更适合将链接、文件和其他非元素拖到可操作的放置目标。如果在重新定位时设置超时1ms,可能不会干扰所创建的底盘系统桥,请参见编辑