【发布时间】:2015-01-21 15:27:20
【问题描述】:
有谁知道为什么在 IE 11 中使用 jsFiddle 运行 this 代码 sn-p 可以正常工作,但放在一起并从本地存储在机器上的文件加载时却不行?是因为 IE 11 中的安全属性吗?如果是这样,我该如何更改它们以能够使用本地文件测试拖放?
function handleDragStart(e) {
e.dataTransfer.setData("Text", "" + $(e.target).index());
}
function dragoveHandler(e) {
if (e.preventDefault) {
e.preventDefault(); // Necessary. Allows us to drop.
}
return false;
}
function handleDrop(e) {
alert($(e.target).index());
if (e.preventDefault) {
e.preventDefault(); // Necessary. Stops redirect.
}
return false;
}
.div123
{
border: 2px solid #666666;
background-color: #ccc;
margin-top: 50px;
width: 200px;
cursor: move;
display: block;
text-decoration: none;
color: black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div id="columns">
<a class="div123" href="#" draggable="true" ondragstart="handleDragStart(event)" ondrop="handleDrop(event)" ondragover="dragoveHandler(event)" onclick="return false;">Hello World</a>
<a class="div123" href="#" draggable="true" ondragstart="handleDragStart(event)" ondrop="handleDrop(event)" ondragover="dragoveHandler(event)" onclick="return false;">HTML5 drag and drop</a>
<a class="div123" href="#" draggable="true" ondragstart="handleDragStart(event)" ondrop="handleDrop(event)" ondragover="dragoveHandler(event)" onclick="return false;">W3 schools</a>
</div>
【问题讨论】:
-
尝试在本地运行时,您是否在控制台中收到任何提示和/或错误?如果您尝试从文件系统中读取,则通常不允许在任何浏览器(一般来说)通过
file://协议进行读取。 -
你说得对,傻我。底部有一条消息,表示 Active-X 元素的执行被阻止以及我是否要接受被阻止的内容。请发表您的评论作为答案,我会投票并接受它。谢谢!
标签: html drag-and-drop draggable internet-explorer-11