更新到版本52后,firefox ondrop event.dataTransfer为null

Whi*_*alf 5 javascript firefox events drag-and-drop

介绍:

大约在2017年3月中旬,将firefox更新到版本52之后,某些功能(拖放)便停止正常运行。正如调试显示的那样,该事件的属性“ dataTransfer”如今已设置为null。

在此更新之前,onDrop和onPaste事件都将dataTransfer属性集传递给要删除或粘贴的内容。

问题:

实际的浏览器应如何处理拖放?这些天是否需要采取任何预防措施?是否有解释当今限制性行为背后的原因?

互联网上是否有任何示例说明如何使用实际的浏览器完成任务?

我不要求在firefox版本48之前的示例,因为至少直到该版本之前,整个过程都可以正常工作。我不要求使用jQuery或任何其他库的示例(但如果它们是附加的补充,则不拒绝它们)。我确实要求使用简单的纯本地javascript示例。

nam*_*999 7

使用最新版本的 FF(当前为 73.0.1),仅在调试 drop 事件处理程序(即通过断点或语句)时dataTransfer显示为。不调试该功能使其正常工作。nulldebugger


小智 5

逐步调试时,dataTransfer中的数据似乎丢失了。可能是由于调试中涉及的事件。读取dataTransfer(ev.dataTransfer.getData)之后,开始逐步调试,您将看到dataTransfer不再为null。

  • 结果在 drop 事件中调用alert() 函数也会使 event.datatransfer 为空。删除这些使得 event.datatransfer 在 Firefox 69(64 位)中工作。 (2认同)
  • 这是如何存在的,并且烦人的开发人员,*已经三年了*并且仍然没有修复/记录良好? (2认同)