是否可以使用dataTransfer设置多个?

的HTML

<tr class="notfirst"
    draggable="true"
    ondragstart="drag(event, '@Model.getFormat(item)', '@Model.getColor(item)')"
    ondragover="allowDrop(event)"
>


JS

function drag(ev, format, color) {
    ev.dataTransfer.setData("text", format);
    ev.dataTransfer.setData("text", color);
}


我可以正确地将formatcolor传递给我的JS函数,但是我不能将两者都添加到dataTransfer中,因为color会替换format。我也尝试传递一个对象,但是也没有用。

最佳答案

您可以将数据推送到JSON对象,然后使用JSON.stringify()将该对象转换为字符串。之后,您将能够将整个字符串传递给setData。

   let  obj = {prd_iId: 50 ,prd_sName: 'Ray Ban'};
   obj = {...obj, prd_sModel:'Aviator'};
   e.dataTransfer.setData("text/plain", JSON.stringify(obj));


那会做你想要的。

关于javascript - 在dataTransfer.setData上设置多个数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55167192/

10-09 05:42