相关疑难解决方法(0)

HTML5拖放getData()仅适用于Chrome中的drop事件?

我目前正在开发一个使用HTML5拖放API的项目来提供附加功能,包括将项目拖入和拖出浏览器.我目前遇到特定于Chrome的问题(否则只在Firefox中测试,它按预期工作).

问题是我不能使用该event.dataTransfer.getData(type)方法dragstart在除事件之外的任何事件中返回事件上的数据集drop.

在绑定到dragstart事件(发生火灾)后,我设置了这样的事件:

event.dataTransfer.setData('text/plain', "some string")
Run Code Online (Sandbox Code Playgroud)

然后在这个drop事件中,我可以得到数据.

event.dataTransfer.getData('text/plain')
Run Code Online (Sandbox Code Playgroud)

但是我不能在任何其他事件(例如dragover)上使用与上面相同的方法.即使我在调用之后尝试在线上使用上面的方法setData()(即在dragstart回调中),它仍然会返回undefined.

因此,在Chrome中,问题是getDataChrome会始终返回undefined,但drop事件回调除外.(在Firefox中,我可以成功获取正确的数据.)

如果你有对dataTransfer同一个拖动元素的对象的引用,那么为什么在删除数据之前你不能获取数据呢?

就是想:

  • 以前有没有人遇到Chrome的这个问题?
  • 有什么变通方法?
  • 或者,Chrome需要解决的问题是什么?

资源: HTML5拖放规范.

javascript html5 drag-and-drop

25
推荐指数
2
解决办法
1万
查看次数

标签 统计

drag-and-drop ×1

html5 ×1

javascript ×1