目录
拖放事件
HTML 中拖放的语法
HTML 中的拖放示例
示例 #3
结论
首页 web前端 html教程 在 HTML 中拖放

在 HTML 中拖放

Sep 04, 2024 pm 04:38 PM
html html5 HTML Tutorial HTML Properties HTML tags

以下文章提供了 HTML 中拖放的概述。拖放是最新的功能,因其方便的功能模式而在网页中手动提供输入而闻名。拖放方法可以描述为用户从源字段的项目列表中选择特定数据/选项,将其拖放到目标字段中的过程。它是使用文档对象模型以及来自 HTML 网页的多个鼠标事件来实现的。此功能中使用的各种事件有:drag、dragstart、dragleave、dragenter、dragover、drop、dragend 和drag exit。

拖放事件

最新的拖放(dnd)功能中包含多个事件;下面我们一一看看:

Sr. No Events Details Description
1 Drag To drag entity(element or text) when the mouse is moved with the element to be dragged.
2 Dragstart The very first step in drag and drop is dragstart. It gets executed when the user is going to start with dragging the object to the required location.
3 Dragenter Dragenter event is used when the mouse is getting hover on the target element.
4 Dragleave This event is used when the user releases a mouse from an element.
5 Dragover This event occurs when a mouse is used to over an element.
6 Drop This event is used at the end of the drag and drop process for drop element operation.
7 Dragend This is one of the most important event in this process for releasing the mouse button from the element to complete the drag procedure.
8 Dragexit This event status that the element is no longer in the drag process of urgent target selection of element.

让我们看看一些将要进行拖放操作的数据属性:

  • dataTransfer.dropEffect [ = value ]: 该属性用于显示当前正在进行哪个操作。可以将其设置为替换已选择的操作。其中包含的值例如副本、链接、无或移动。
  • dataTransfer.effectAllowed [ = value ]: 任何允许的操作都会通过该属性返回。还可以设置更改已选择的操作。
  • dataTransfer.files:该数据属性用于获取要拖动的文件的fileList。
  • dataTransfer.addElement(element): 用于将已经存在的元素插入到可用于渲染拖动反馈的其他元素列表中。
  • dataTransfer.setDragImage(element, x, y): 此属性与上面的有点相同,用于更新拖动反馈并帮助更改已存在的反馈
  • dataTransfer.clearData ( [ format ] ): 它帮助用户从已经定义的格式中删除数据。如果用户省略参数,IT 将删除所有数据。
  • dataTransfer.setData(format, data): 这是用于添加指定数据的流行属性之一。
  • data = dataTransfer.getData(format): 拖拽操作中该属性用于提取指定数据。如果没有与之相同的数据,则返回空字符串。

HTML 中拖放的语法

以下是定义拖放语法的几个步骤:

选择要拖动的对象:为其设置属性 true。

<element draggable="true">
登录后复制

开始拖动对象:

function dragStart(ev){}
登录后复制

放下对象:

function dragDrop(ev){}
登录后复制

HTML 中的拖放示例

以下示例将展示拖放操作在 HTML 中的具体执行方式。

示例#1

代码:

<html>
<head>
<title>Drag and Drop Demo</title>
<script>
function allowDrop(ev) {
ev.preventDefault();
}
function dragStart(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function dragDrop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
</script>
<style>
#box {
margin: auto;
width: 30%;
width: 21%;
height:150px;
border: 2px solid blue;
padding: 2px;
}
#square1, #square2, #square3 {
float: left;
margin: 5px;
padding: 10px;
}
#square1 {
width: 30px;
height: 30px;
background-color: #BEA7CC;
}
#square2 {
width: 60px;
height: 60px;
background-color: #B5D5F5;
}
#square3 {
width: 90px;
height: 90px;
background-color:#F5B5C5 ;
}
h2 {
font-size:20px;
font-weight:bold;
text-align:center;
}
</style>
</head>
<body>
<h2>HTML DRAG AND DROP DEMO</h2>
<div id = "box">
<div id="square1" draggable="true"ondragstart="dragStart(event)"></div>
<div id="square2" draggable="true"ondragstart="dragStart(event)"></div>
<div id="square3" ondrop="dragDrop(event)" ondragover="allowDrop(event)"></div>
</div>
</body>
</html>
登录后复制

输出:

拖放之前,选项输出将如下所示:

在 HTML 中拖放

执行拖放操作后,输出如下:

在 HTML 中拖放

示例#2

这里我们将看到另一个示例,其中我们将图像从一个位置移动到另一个指定位置,如下代码所示。

代码:

<!DOCTYPE HTML>
<html>
<head>
<script>
function allowDrop(ev) {
ev.preventDefault();
}
function dragStart(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function dragDrop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
</script>
<style>
.divfirst {
width: 250px;
height: 150px;
padding: 10px;
border: 1px solid black;
background-color: #F5F5F5;
}
p {
font-size:20px;
font-weight:bold;
}
</style>
</head>
<body>
<p>Image Drag and Drop Demo</p>
<div class="divfirst" ondrop="dragDrop(event)" ondragover="allowDrop(event)">
<img id="drag1"
src="Jerry.jpeg" draggable="true"
ondragstart="dragStart(event)" width="250" height="150"></div>
<br>
<div     class= "divfirst"ondrop="dragDrop(event)"
ondragover="allowDrop(event)"></div>
</body>
</html>
登录后复制

输出:

拖放操作之前,输出为:

在 HTML 中拖放

拖放操作完成后,将如下所示:

在 HTML 中拖放

示例 #3

在此示例中,我们将了解如何将文件拖放到指定位置:

代码:

<body>
<div id="filedemo" style="min-height: 150px; border: 1px solid black;"
ondragenter="document.getElementById('output').textContent = ''; event.stopPropagation(); event.preventDefault();"
ondragover="event.stopPropagation(); event.preventDefault();"
ondrop="event.stopPropagation(); event.preventDefault();
dodrop(event);">
DROP FILES HERE...
</div>
<script>
function dodrop(event)
{
var dt = event.dataTransfer;
var files = dt.files;
for (var i = 0; i < files.length; i++) {
output(" File " + i + ":\n(" + (typeof files[i]) + ") : <" + files[i] + " > " +
files[i].name + " " );
}
}
function output(text)
{
document.getElementById("filedemo").textContent += text;
}
</script>
</body>
登录后复制

输出:

在 HTML 中拖放

结论

HTML 拖放是最重要的用户界面实体之一,可用于复制、删除或记录等不同目的。它适用于不同的事件和属性,如上所述。当您拾取某个对象并将其放在指定位置时,它会执行该操作。

以上是在 HTML 中拖放的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

HTML 中的表格边框 HTML 中的表格边框 Sep 04, 2024 pm 04:49 PM

HTML 表格边框指南。在这里,我们以 HTML 中的表格边框为例,讨论定义表格边框的多种方法。

HTML 中的嵌套表 HTML 中的嵌套表 Sep 04, 2024 pm 04:49 PM

这是 HTML 中嵌套表的指南。这里我们讨论如何在表中创建表以及相应的示例。

HTML 左边距 HTML 左边距 Sep 04, 2024 pm 04:48 PM

HTML 左边距指南。在这里,我们讨论 HTML margin-left 的简要概述及其示例及其代码实现。

HTML 表格布局 HTML 表格布局 Sep 04, 2024 pm 04:54 PM

HTML 表格布局指南。在这里,我们详细讨论 HTML 表格布局的值以及示例和输出。

HTML 输入占位符 HTML 输入占位符 Sep 04, 2024 pm 04:54 PM

HTML 输入占位符指南。在这里,我们讨论 HTML 输入占位符的示例以及代码和输出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在这里我们还分别讨论了 HTML 有序列表和类型的介绍以及它们的示例

HTML onclick 按钮 HTML onclick 按钮 Sep 04, 2024 pm 04:49 PM

HTML onclick 按钮指南。这里我们分别讨论它们的介绍、工作原理、示例以及各个事件中的onclick事件。

在 HTML 中移动文本 在 HTML 中移动文本 Sep 04, 2024 pm 04:45 PM

HTML 中的文本移动指南。在这里我们讨论一下marquee标签如何使用语法和实现示例。

See all articles