Úvod do drag and drop v HTML

Drag and Drop je teraz jednou z najnovších funkcií zahrnutých v HTML. Drag and drop je proces, ktorý sa spustí, keď používateľ vyberie dragable element a umiestni tento element do droppable komponenty a umiestni ho na určené miesto. Používa sa model udalosti Document Object Model (DOM), ako aj niektoré udalosti ťahania, ktoré pochádzajú z udalostí myši. Funguje ako najúčinnejšie rozhranie, ktoré je zodpovedné za kopírovanie, zaznamenávanie a mazanie prvkov pomocou myši. V najnovšej funkcii HTML funguje funkcia Drag and Drop na najnovších udalostiach, ako je napríklad dragstart, rovnako ako mnoho iných udalostí, ktoré sa budú používať.

Udalosti pre drag and drop

V najnovšej funkcii drag and drop (dnd) je zahrnutých niekoľko udalostí. Pozrime sa jeden po druhom takto:

Sr čDianiaPodrobnosti Popis
1ťahaťPresunutie entity (prvku alebo textu) pri pohybe myši pomocou prvku, ktorý sa má pretiahnuť.
2dragstartPrvým krokom v drag and drop je dragstart. Spustí sa, keď používateľ začne ťahaním objektu na požadované miesto.
3dragenterUdalosť Dragenter sa používa, keď sa myš vznáša na cieľovom prvku.
4dragleaveTáto udalosť sa používa, keď používateľ uvoľní myš z prvku.
5dragoverTáto udalosť nastane, keď sa myš použije na prvok.
6PoklesTáto udalosť použitá na konci procesu drag and drop pre operáciu elementu drop.
7dragendToto je jeden z najdôležitejších aj v tomto procese na uvoľnenie tlačidla myši z prvku na dokončenie postupu ťahania.
8DragexitTento stav udalosti, že prvok už nie je v procese pretiahnutia urgentného výberu cieľa.

Pozrime sa na niektoré atribúty údajov, pri ktorých sa uskutoční operácia Drag and Drop:

1. dataTransfer.dropEffect (= hodnota): Tento atribút sa používa na označenie, ktorá operácia sa práve vykonáva. dá sa nastaviť, aby nahradil už vybranú operáciu. Hodnoty v ňom obsiahnuté ako kópia, odkaz, žiadna alebo presunutá.

2. dataTransfer.effectAllowed (= hodnota): Akékoľvek operácie sú povolené a budú vrátené prostredníctvom tohto atribútu. Je tiež možné nastaviť, na zmenu už vybranej operácie.

3. dataTransfer.files: Tento dátový atribút sa používa na získanie súboru Zoznam súborov, ktoré sa budú presúvať.

4. dataTransfer.addElement (element): Používa sa na vloženie už existujúceho prvku do zoznamu ďalších prvkov, ktoré sú užitočné na vykreslenie spätnej väzby.

5. dataTransfer.setDragImage (element, x, y): Tento atribút je trochu rovnaký ako vyššie pre aktualizáciu spätnej väzby a pomoci pri zmene už existujúcej spätnej väzby.

6. dataTransfer.clearData ((format)): Pomáha používateľovi odstraňovať údaje z už definovaného formátu. Ak užívateľ argument vynechal, IT odstráni všetky údaje.

7. dataTransfer.setData (formát, dáta): Je to jeden z populárnych atribútov použitých na pridanie zadaných údajov.

8. data = dataTransfer.getData (format): Tento atribút v operácii Drag and Drag slúži na extrahovanie špecifikovaných údajov. V prípade, že neexistujú rovnaké údaje, vráti sa do prázdneho reťazca

Syntax Drag and Drop v HTML

Tu je niekoľko krokov, ktoré definujú syntax pre drag and drop:

Vyberte objekt, ktorý má byť pretiahnutý: nastavte atribút na true.

Začať ťahať objekt:

function dragStart(ev)()

Drop objekt:

function dragDrop(ev)()

Príklady drag and drop v HTML

Nasledujúci príklad ukáže, ako presne bude operácia drag and drop vykonávať v HTML:

Príklad č. 1

kód:


Drag and Drop Demo
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));
)

#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;
)

HTML DRAG AND DROP DEMO




Drag and Drop Demo
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));
)

#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;
)

HTML DRAG AND DROP DEMO




Drag and Drop Demo
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));
)

#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;
)

HTML DRAG AND DROP DEMO



Výstup: Pred možnosťou voľby drag and drop bude nasledujúci výstup:

Po vykonaní operácie Drag and Drop bude výstup nasledovný:

Príklad č. 2

Tu uvidíme ďalší príklad, v ktorom presuneme obrázok z jedného miesta na iné určené miesto, ako je to znázornené nižšie:

kód:



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));
)

.divfirst (
width: 250px;
height: 150px;
padding: 10px;
border: 1px solid black;
background-color: #F5F5F5;
)
p (
font-size:20px;
font-weight:bold;
)

Ukážka Drag and Drop

src = "Jerry.jpeg.webp" draggable = "true"
ondragstart = "dragStart (event)">

onDragOver = "allowDrop (event)">

Výstup: Pred operáciou drag and drop je výstup:

Po dokončení operácie drag and drop bude vyzerať takto:

Príklad č. 3

V tomto príklade uvidíme, ako presunúť súbor na určené miesto:

kód:


ondragenter = "document.getElementById ('output'). textContent = ''; event.stopPropagation (); event.preventDefault ();" "
ondragover = "event.stopPropagation (); event.preventDefault ();"
ondrop = "event.stopPropagation (); event.preventDefault ();
dodrop (event); ">
DROP SÚBORY TU …

funkcia dodrop (event)
(
var dt = event.dataTransfer;
var files = dt.files;
pre (var i = 0; i <dĺžka súboru, i ++) (
výstup ("Súbor" + i + ": \ n (" + (typy súborov (i)) + "):" +
súbory (i) .name + "");
)
)
výstup funkcie (text)
(
document.getElementById ("filedemo"). textContent + = text;
)

Výkon:

záver

HTML drag and drop je jednou z najdôležitejších entít používateľského rozhrania, ktorá sa bude používať na rôzne účely, ako je kopírovanie, mazanie alebo nahrávanie. Funguje na rôznych udalostiach a atribútoch, ako sú uvedené vyššie. Vykoná operáciu, keď vyberiete nejaký objekt a potom ho pustíte na určené miesto.

Odporúčané články

Toto je sprievodca pre drag and drop v HTML. Tu diskutujeme o tom, ako presne bude operácia drag and drop fungovať v HTML, spolu s príslušnými príkladmi. Viac informácií nájdete aj v nasledujúcom článku -

  1. Stromová mapa v Tableau
  2. Vytvorte tabuľky v HTML
  3. Značky tabuliek HTML
  4. Štýly zoznamu HTML