将图像拖动到新位置:
我们可以看到,在 img 标签中,我们添加了一个 ID 和一个 src 属性。我们还将 draggable 属性设置为 true,这意味着图片可以被拖动。我们还添加了一个 ondragstart 事件监听器,当用户开始拖动图片时,将调用 JavaScript 中的 drag 函数。 现在我们来看一下 drag 函数的代码: function drag(ev) { ev.dataTransfer.setData("text",ev.target.id); } 这个函数设置了一个数据传输对象,该对象将带有拖动的图片的 ID。当用户将图片拖动到新位置时,该数据传输对象将用于将图片放置在正确的位置。现在我们需要为目标元素添加一个 drop 事件监听器: function drop(ev) { ev.preventDefault(); var data = ev.dataTransfer.getData("text"); ev.target.appendChild(document.getElementById(data)); } 这个函数防止默认的放置行为,然后获取拖动的图片的 ID,并将该图片添加到目标元素中。现在我们需要为目标元素添加另一个事件监听器,以防止默认的放置行为: function allowDrop(ev) { ev.preventDefault(); } 这个函数只是防止默认的放置行为。 现在,我们已经完成了整个过程!我们可以使用以下的 HTML 代码来测试图片的拖动:
<!DOCTYPE HTML>
<html>
<head>
<style>
#div1 {
width: 350px;
height: 70px;
padding: 10px;
border: 1px solid #aaaaaa;
}
</style>
<script>
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text",ev.target.id);
}
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>
<p>将图片拖动到另一个 DIV 中:</p>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<img id="drag1" src="image.jpg" draggable="true" ondragstart="drag(event)" width="336" height="228">
</body>
</html>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。