IE浏览器拖放事件e.dataTransfer.setData(key,value)报错

来源:互联网 发布:f.lux for mac下载 编辑:程序博客网 时间:2024/04/27 14:35

问题:

在做元素拖放时,用了html5的ondragstart(),ondrop(),ondragover()方法,代码:

/*开始拖放*/function drag(evt) {    evt.dataTransfer.setData("targetId", evt.target.id);}/*放*/function drop(evt){    evt.preventDefault();    var temp = document.getElementById(evt.dataTransfer.getData("targetId"));}/*拖放结束*/function allowDrop(e){    e.preventDefault();}

因为一直是在chrome浏览器下调试,所以没有任何问题。突然想在IE浏览器下测试一下其兼容性。结果无法拖放,一直报错。
这里写图片描述
在网上搜了一下,同样的问题有很多,但没找到一个解决方案。看了一些,就自己试了一下,终于可以了。

解决方案:

看网上一些人写的e.dataTransfer.setData(key,value);其中key写的是“Text”,改成Text后可以拖放。最后又试了一下只要是text,无论大小写都行。其他的key也许可能行,但字符串太多,无法去试。

原因:

暂时不明

0 0