这是我的举动:
dragstart: function(e) { $(this).css('opacity','0.5'); e.dataTransfer.effectAllowed = 'move'; e.dataTransfer.setData('application/json',{ id: $(this).attr('id'),header: $('header',this).text() }); },
我想传递一些信息,如id和文本.我的下落是:
drop: function(e) { var data = e.dataTransfer.getData('application/json'); alert(data); $(this).attr('id',data.id); $('header',this).text(data.header); },
但数据未定义,我无法访问我的数据.这是正确的方法吗?
谢谢!
解决方法
在拖动开始
var testjson = {name:"asd",tall:123}; e.dataTransfer.setData("text/plain",JSON.stringify(testjson)); e.dataTransfer.effectAllowed = "copy";
在下降
var data = e.dataTransfer.getData("text/plain"); console.log(JSON.parse(data));
你会得到的
Object {name: "asd",tall: 123}
在console.log中