使用带拖放的dataTransfer.setData传输JSON

时间:2017-12-19 19:21:15

标签: javascript html5 drag-and-drop

我尝试使用HTML5拖放功能传输JSON数据(而不是字符串)

启动拖动后,您可以设置数据:

e.originalEvent.dataTransfer.setData("application/json", {x: 10});
},

当拖动掉落时

e.originalEvent.dataTransfer.getData("application/json");

但无论我做什么,它总是一个字符串。我怎样才能转移实际物体? DEMO

1 个答案:

答案 0 :(得分:0)

JSON是数据的字符串表示形式(例如,序列化对象的数据)。这就是你得到字符串结果的原因。

如果序列化对象包含具有唯一标识符(id)的属性,则可以从json结构中读取id并引用源对象(例如,通过id获取源对象)。

通过其ID获取HTML5元素,您可以使用JavaScript getElementById功能。 见https://www.w3schools.com/jsref/met_document_getelementbyid.asp