相关疑难解决方法(0)

确定从dragenter和dragover事件中拖动的内容

我正在尝试使用HTML5可拖动的API(虽然我意识到它有它的问题).到目前为止,我遇到的唯一一个显示是我无法找到一种方法来确定当一个dragoverdragenter事件触发时被拖动的内容:

el.addEventListener('dragenter', function(e) {
  // what is the draggable element?
});
Run Code Online (Sandbox Code Playgroud)

我意识到我可以认为它是发射dragstart事件的最后一个元素,但是......多点触控.我也试着使用e.dataTransfer.setDatadragstart附加一个唯一的标识符,但显然这些数据是不可访问dragover/ dragenter:

只有在丢弃事件期间发生丢弃时,才能使用此数据.

那么,有什么想法吗?

更新:在撰写本文时,HTML5拖放似乎没有在任何主流移动浏览器中实现,因此在实践中提出了关于多点触控的观点.但是,我想要一个可以保证在规范的任何实现中都能使用的解决方案,这似乎不会阻止同时拖动多个元素.

我在下面发布了一个有效的解决方案,但这是一个丑陋的黑客攻击.我仍然希望有更好的答案.

javascript html5 draggable

64
推荐指数
5
解决办法
3万
查看次数

标签 统计

draggable ×1

html5 ×1

javascript ×1