Creative Saplings

HTML5 – Fogd és vidd

január 18, 2021
No Comments
Hirdetések

A Drag and Drop (DnD) hatékony felhasználói felület koncepció, amely megkönnyíti a másolást, az átrendezést és a törlést elemeket egérkattintások segítségével. Ez lehetővé teszi a felhasználó számára, hogy az egérgombot lenyomva tartsa és lenyomva tartsa egy elem fölött, áthúzza egy másik helyre, és elengedi az egérgombot, hogy az elemet oda dobja.

A hagyományos HTML4 alkalmazással a fogd és vidd funkciót érheti el, a fejlesztőknek vagy komplex JavaScript programozást, vagy más JavaScript keretrendszert kell használniuk, például a jQuery stb.

Most a HTML 5 egy Drag and Drop (DnD) API-val állt elő, amely natív DnD támogatást hoz a böngészőben sokkal könnyebb kódolni.

A HTML 5 DnD-t az összes nagy böngésző támogatja, például a Chrome, a Firefox 3.5 és a Safari 4 stb.

Húzza és dobja az eseményeket

A fogd és vidd művelet különféle szakaszaiban számos esemény lő ki. Ezeket az eseményeket az alábbiakban soroljuk fel –

Sr.No. Események & Leírás
1

dragstart

Akkor gyullad ki, amikor a felhasználó elkezdi húzni az objektumot.

2

dragenter

Akkor aktiválódik, amikor az egeret először áthelyezik a célelem fölé, miközben húzás történik. Az esemény hallgatójának jeleznie kell, hogy megengedett-e ejtés ezen a helyen. Ha nincsenek hallgatók, vagy a hallgatók nem hajtanak végre műveleteket, akkor alapértelmezés szerint nem engedélyezett a dobás.

3

áthúzás

Ez az esemény akkor indul el, amikor az egér egy elem fölé kerül, amikor húzás történik. Az idő nagy részében a hallgató közben végrehajtott művelet meg fog egyezni a dragenter eseményével.

4

dragleave

Ez az esemény akkor indul el, amikor az egér elhúz egy elemet, miközben húzás történik. A hallgatóknak el kell távolítaniuk a visszajelzéshez használt összes kiemelő vagy beszúró jelzőt.

5

húzás

Minden alkalommal elindul, amikor az egeret mozgatja az objektum húzása közben.

6

drop

A drop esemény arra az elemre kerül, ahol a drop a drag művelet végén történt. A hallgató feladata a húzott adatok lekérése és a dobás helyére történő beillesztése.

7

húzás

Akkor gyullad ki, amikor a felhasználó elengedi az egérgombot egy objektum húzása közben.

Megjegyzés – Vegye figyelembe, hogy csak a drag események indulnak; az egéresemények, például az egérmutató, nem kerülnek elindításra egy húzási művelet során.

Az adatátviteli objektum

Az összes drag and drop esemény eseményfigyelő metódusa elfogadja az Event objektumot, amelynek csak olvasható attribútuma van dataTransfer.

Az event.dataTransfer az alábbiak szerint adja vissza az eseményhez társított DataTransfer objektumot –

function EnterHandler(event) { DataTransfer dt = event.dataTransfer; .............}

A DataTransfer objektum adatokat tartalmaz a húzásról and drop művelet. Ezeket az adatokat az alábbiakban ismertetett módon lekérhetjük és beállíthatjuk a DataTransfer objektumhoz társított különféle attribútumok alapján –

Sz. Sz.

dataTransfer.dropEffect

  • Visszaadja az éppen kiválasztott művelet fajtáját.

  • Ez az attribútum beállítható a kiválasztott művelet megváltoztatásához.

  • A lehetséges értékek: semmilyen, másolás, linkelés és áthelyezés.

2

dataTransfer.effectAllowed

  • Az engedélyezett műveletek típusát adja eredményül.

  • Ez az attribútum beállítható az engedélyezett műveletek módosításához.

  • A lehetséges értékek: semmilyen, copy, copyLink, copyMove, link, linkMove, move, all és inicializálatlan.

3

dataTransfer.types

Visszaad egy DOMStringList, amely felsorolja a dragstart eseményben beállított formátumokat. Ezen túlmenően, ha bármilyen fájlt húz, akkor az egyik típus a “Fájlok” karakterlánc lesz.

4

dataTransfer.clearData ()

Eltávolítja a megadott formátumok adatait. Az argumentum kihagyása esetén az összes adatot eltávolítja.

5

dataTransfer.setData (formátum, adatok)

Hozzáadja a megadott adatokat.

6

data = dataTransfer.getData (format)

A megadott adatokat adja vissza. Ha nincs ilyen adat, akkor az üres karakterláncot adja vissza.

7

dataTransfer.files

A húzott fájlok FileListáját adja vissza, ha vannak ilyenek.

8

dataTransfer.setDragImage (element, x, y)

Az adott elem segítségével frissíti a visszacsatolási visszajelzést, helyettesítve a korábban megadott visszajelzéseket.

9

dataTransfer.addElement (elem)

Hozzáadja az adott elemet a az elhúzási visszajelzés megadásához használt elemek listája.

Fogd és vidd folyamat

Az alábbiak a fogd és vidd művelet végrehajtásához végrehajtandó lépések –

1. lépés – Objektum húzhatóvá tétele

Itt a következő lépéseket kell megtenni –

  • Ha elemet akar húzni, akkor a draggable attribútumot igaznak kell állítania az elemhez.

  • Eseményfigyelőt állítson be a dragstarthoz, amely torzítja az áthúzott adatokat.

  • Az eseményfigyelő gyorsindítás beállítja a megengedett effektusokat (másolás, áthelyezés, link vagy valamilyen kombináció).

Az alábbi példa az objektum húzhatóvá tételéhez –

Ez a következő eredményt hozza –

2. lépés – Az objektum eldobása

A csepp elfogadásához a drop targetnek legalább három eseményt meg kell hallgatnia.

  • A dragenter esemény, amely meghatározza, hogy a drop target elfogadja-e a drop-ot vagy sem. . Ha a dobást el akarja fogadni, akkor ezt az eseményt le kell törölni.

  • A dragover esemény, amely meghatározza, hogy milyen visszajelzést kell megjeleníteni a felhasználó számára. Ha az esemény törlődik, akkor a visszacsatolás (általában a kurzor) a dropEffect attribútum értéke alapján frissül.

  • Végül a drop esemény, amely lehetővé teszi a tényleges esést végrehajtandó.

Az alábbiakban bemutatunk egy objektum másik objektumba dobásának példáját –

Ez a következő eredményt eredményezi –

Hirdetések

Articles
Previous Post

Különbség JDK, JRE és JVM között

Next Post

Ország kutyanevek

Vélemény, hozzászólás? Kilépés a válaszból

Legutóbbi bejegyzések

  • A világ legjobb fotóiskolái, 2020
  • A szuverén polgárok kormányellenes filozófiájukat viszik az utakra
  • Stukkó javítási költség útmutató
  • Muckrakers (Magyar)
  • Precíziós onkológia

Archívum

  • 2021 február
  • 2021 január
  • 2020 december
  • 2020 november
  • 2020 október
  • 2020 szeptember
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.