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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用带拖放的dataTransfer.setData传输JSON相关的知识,希望对你有一定的参考价值。

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

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

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

当拖拉机掉落时

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

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

答案

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

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

要通过其ID获取HTML5元素,您可以使用javascript getElementById功能。见qazxsw poi

以上是关于使用带拖放的dataTransfer.setData传输JSON的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 在表格中拖放(使用两个可拖放的函数)

可拖放的 jquery socket.io

HTML 5 拖放相对于 jQuery UI 拖放的优势

使用 JQuery“模拟”拖放的简单方法?

使用 %1 进行拖放的批处理文件复制

用于 Silverlight 中拖放的 TranslateTransform