我正在做一些旧学校IE并尝试从Windows资源管理器拖放到IE工作。我正在获取drop事件,但dataTransfer
对象不包含文件名。 getData("Text")
也是null
。我错过了什么?
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>DnD</title>
<script src="scripts/jquery-1.7.2.min.js"></script>
</head>
<body>
<div id="dropstuff">drop stuff here</div>
<script>
$(function () {
var dropTarget = $("#dropstuff");
dropTarget.bind("dragenter dragover", function () {
window.event.returnValue = false;
return false;
});
dropTarget.bind("drop", function (e) {
window.event.returnValue = false;
var file = e.originalEvent.dataTransfer.getData("Url");
// file is null!
return false;
});
});
</script>
</body>
</html>
答案 0 :(得分:0)
IE在支持事情上非常糟糕。
您应该使用特殊插件,即https://github.com/blueimp/jQuery-File-Upload或http://www.plupload.com/,或者您可能希望在Flash上找到解决方案。但这可能需要一些时间。
我建议你解决这个问题的组织方式:通过在IE中显示部分功能兼容性警告,建议用户使用现代浏览器。