4

我正在尝试在我的拖动事件中设置一个自定义数据,它是一个 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不适用于 HTMLElement 对象

这个来自 mdn 的参考资料说可以使用自定义数据

4

1 回答 1

0

根据这个MDN 参考,您可以指定数据类型text/html并传递格式良好的 HTML 字符串。如果要使用 DOM 中的现有元素,可以传递其outerHTML字符串属性。

于 2020-01-17T01:16:42.367 回答