Javascript 如何在html拖放中设置自定义数据

Javascript 如何在html拖放中设置自定义数据,javascript,html,drag-and-drop,html5-draggable,Javascript,Html,Drag And Drop,Html5 Draggable,我正在尝试设置一个自定义数据,它是我的拖动事件中的一个HTML元素。 到目前为止,我做到了: element.addEventListener('dragstart', event => { event.dataTransfer.setData('custom-data', document.querySelector('.the-element') }) dropzone.addEventListener('drop', event => { const data = e

我正在尝试设置一个自定义数据,它是我的拖动事件中的一个HTML元素。 到目前为止,我做到了:

element.addEventListener('dragstart', event => {
  event.dataTransfer.setData('custom-data', document.querySelector('.the-element')
})

dropzone.addEventListener('drop', event => {
  const data = event.dataTransfer.getData('custom-data') // this is empty
})
有办法做到这一点吗

在将元素传递给拖动事件之前,我已经尝试对元素执行
JSON.stringify
。但是
JSON.stringify
在HtmleElement对象上不起作用


来自mdn的消息称可以使用自定义数据。根据这一点,您可以指定数据类型
text/html
,并传递格式良好的html字符串。如果要使用DOM中的现有元素,可以传递其string属性。

您到底想要什么?是否要在拖放过程中传输数据?@TanDuong是。数据是和HTMLElement。但这方面没有数据类型。我试图执行
'application/json'
,但结果得到了
[object HTMLElement]
,但如果使用outerHTML@bobharley据我所见,Firefox可能提供拖放节点引用的功能。我不知道其他哪些浏览器(如果有的话)也支持该功能。