Internet Explorer中的HTML5拖放问题(无法访问dataTransfer属性)

我正在尝试使用HTML5实现基本的拖放function。 它在Chrome中完全正常,但在IE10中我得到一个0x8000ffff - JavaScript runtime error: Unexpected call to method or property access.setData错误。

 function handleDragStart(e) { e.dataTransfer.effectAllowed = 'move'; e.dataTransfer.setData("dropTarget", g.destination); } var cols = $("#" + g.source + " tbody > tr"); [].forEach.call(cols, function (col) { col.addEventListener('dragstart', handleDragStart, false); }); 

我究竟做错了什么?

对于那些正在寻找答案的人:

getData()和setData()属性必须被称为“文本”,因为你可以在其他浏览器中使用任何参数(这实际上很有意义 – IE再次摇滚),这里的其他答案都是无用的。

你是对的。 在IE 11中,我从e.dataTransfer.getData(’text / html’)更改为e.dataTransfer.getData(’text’),并且不会发生错误。 DTO。 在e.dataTransfer.setData(’text’)中。

然后,此示例(DnD方法)将在IE 11,Chrome和Firefox中运行: http : //www.developer.com/lang/using-html5-drag-and-drop-in-asp.net.html

看起来我误解了dataTransfer.setData的目的。

它的工作原理如下:

e.dataTransfer.setData("Text", g.destination);