如何在 HTML5 中使用拖放?
拖放的概念简化了抓取对象并将其移动到不同位置的过程,它非常动态且用户友好。这使用户能够单击并拖动元素到另一个位置,然后松开鼠标按钮将其放置在那里。
拖放事件
拖放事件包含各种类型的事件,其中一些列在下面。
ondrag - 在 HTML 中用于描述何时移动元素或文本选择。
ondragstart - 当拖动操作即将开始时调用的函数。
ondragenter - 用于确定放置目标是否接受放置。如果接受放置,则必须取消此事件。
ondragleave - 在拖动操作期间,当鼠标在合法放置目标之前移出元素时,会发生 ondragleave。
ondragover - 它概述了可以放置拖动数据的位置。
ondrop - 它描述了拖动操作完成后放置的位置。
ondragend - 当用户完成拖动元素时,称为 ondragend。
让我们深入研究以下示例,以更深入地了解如何在 HTML5 中使用拖放。
示例 -(两个框之间的拖放)
在下面的示例中,我们创建了一个在两个框之间拖放图像的示例。
<!DOCTYPE HTML> <html> <head> <script> function allowDrop(ev) { ev.preventDefault(); } function dragStart(ev) { ev.dataTransfer.setData("text", ev.target.id); } function dragDrop(ev) { preventDefault(); var data = ev.dataTransfer.getData("text"); ev.target.appendChild(document.getElementById(data)); } </script> <style> .div1 { width: 240px; height: 75px; padding: 10px; border: 1px solid black; background-color: #F5F5F5; } p { font-size: 20px; font-weight: bold; } </style> </head> <body> <p>Image Drag and Drop in boxes</p> <div class="div1" ondrop="dragDrop(event)" ondragover="allowDrop(event)"> <img id="drag1" src= "https://tutorialspoint.com/coffeescript/images/coffeescript-mini-logo.jpg" draggable="true" ondragstart="dragStart(event)" width="220" height="70"> </div> <br> <div class="div1" ondrop="dragDrop(event)" ondragover="allowDrop(event)"> </div> </body> </html>
执行上述脚本后,它将生成一个输出,显示两个框以及第一个框中的一个图像。当用户拖动图像时,会触发拖动事件,而当用户将图像放置到第二个框中时,放置事件完成。
使用拖放进行数据传输
当整个拖放过程发生时,会使用数据传输属性。它用于保存从源拉取的数据,并将其转储到需要的位置。
示例
考虑以下示例,它说明了元素的可拖动属性的使用。
<!DOCTYPE HTML> <html> <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: 50%; height: 200px; border: 3px solid green; padding: 10px; } #box1, #box2, #box3 { float: left; margin: 5px; padding: 10px; } #box1 { width: 50px; height: 50px; background-color: #F5B5C5; } #box2 { width: 100px; height: 100px; background-color: #B5D5F5; } #box3 { width: 150px; height: 150px; background-color: #BEA7CC; } p { font-size: 20px; font-weight: bold; text-align: center; } </style> </head> <body> <p>Drag and drop of boxes</p> <div id="box"> <div id="box1" draggable="true" ondragstart="dragStart(event)"> </div> <div id="box2" draggable="true" ondragstart="dragStart(event)"> </div> <div id="box3" ondrop="dragDrop(event)" ondragover="allowDrop(event)"> </div> </div> </body> </html>
当脚本执行时,它将显示三个框,当用户开始拖放时。事件完成后,将使用数据传输。它可以从一个框中提取数据并将其转储到所需的框中。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP