html5 – 使用JSON拖放HTML 5 jQuery:e.dataTransfer.setData()

这是我的举动:
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中

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码