这是我的dragstart:

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中

关于html - 使用JSON拖放HTML 5 jQuery : e. dataTransfer.setData(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9533585/

10-11 00:52
查看更多