我目前正在开发一个使用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同一个拖动元素的对象的引用,那么为什么在删除数据之前你不能获取数据呢?
就是想:
资源: HTML5拖放规范.