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

HTML5 Drag&Drop issue in Internet Explorer (dataTransfer property access not possible)

本文关键字:访问 dataTransfer 属性 问题 删除 拖放 Internet Explorer HTML5      更新时间:2023-09-26

我正在尝试实现基本的拖动&使用HTML5删除功能。它在Chrome中运行得很好,但在IE10中,我在setData行中得到了一个0x8000ffff - JavaScript runtime error: Unexpected call to method or property access.错误。

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()属性必须被精确地称为"text",因为你可以在其他浏览器中使用任何参数(这实际上很有意义——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);