Snadné přetahování HTML5: Jak vytvořit přetahovatelné objekty HTML5

TL; DR – Rozhraní API pro přetahování HTML5 vám umožňuje chyťte objekt HTML kurzorem a přetáhněte jej na jiné místo.

Co můžete v HTML5 přetáhnout?

HTML5 vám umožňuje provést přetažení libovolného prvku, což vám umožňuje zvednout jej kurzorem a přetáhnout jej na jiné místo, které je definováno jako droppable prvek. V níže uvedeném příkladu zkuste přetáhnout obrázek na čtverec:

Tato funkce zjednodušuje uživatelský komfort a umožňuje dokonce i vytváření jednoduchých online her (například můžete přetahovat virtuální šachové figurky). Když přetáhnete prvek, jeho průhledná replika se bude pohybovat spolu s kurzorem, dokud jej neuvolníte uvolněním tlačítka myši.

Technicky vzato je Drag and Drop JavaScript API přidané do HTML5. Proto je důležité mít alespoň základní znalosti skriptování, abyste s touto funkcí mohli pracovat.

Události pro přetažení HTML5

V tabulce níže uvidíte všechny události, které jsou relevantní pro funkci Drag and Drop:

Událost Vysvětlení
přetáhnout Kurzor se pohybuje při přetahování prvku
přetažení Proces přetahování je dokončen
dragstart Kurzor zvedne prvek a začne táhnout
dragend Tlačítko myši se uvolní a prvek se spustí
dragenter Kurzor vstoupí do cílového prvku
dragleave Kurzor opustí cílový prvek
přetažení Kurzor se přesune na cílový prvek

Krok za krokem Vysvětlení přetažení

Kódování přetažení HTML5 se na první pohled zdá být docela komplikované, protože obsahuje skriptování v JS. Pojďme si však prostudovat jednotlivé části procesu, abychom je snáze pochopili.

Přetahovatelné prvky

Nejprve se musíte ujistit, že prvek, který chcete přetáhnout, má Byl použit atribut HTML5 draggable a jeho hodnota byla nastavena na true:

Příklad

Přetažení

Poté definujte, co by se mělo stát po přetažení objektu. Můžete to provést voláním obslužná rutina události pro událost dragstart a definující funkci, která má být provedena.

Hodnotu a datový typ přetažených dat musí nastavit dataTransfer.setData() metoda:

Příklad

Vyřazení

Přetažitelná data HTML5 jsou specifikována připojením obslužné rutiny události k události dragover.

Prvky a data nelze ve výchozím nastavení upuštěno v jiných prvcích. To znamená, že musíte zastavit prvky prvku výchozí chování pomocí metody event.preventDefault():

Příklad

K události drop dojde při zrušení přetahovatelných dat HTML5. Volá jej ondrop obslužná rutina události:

Konečný kód: příklad

V zásadě potřebujete svůj kód, abyste mohli proveďte čtyři kroky:

  • Zabraňte výchozí akci webového prohlížeče související s daty voláním preventDefault()
  • Získat data pomocí metody dataTransfer.getData()
  • Připevnit přetažený prvek na prvek přetažení

Podívejme se, jak to funguje v níže uvedený příklad:

Přetahování HTML5: Užitečné tipy

  • Můžete přetahovat různé typy prvků, mimo jiné soubory, odkazy, obrázky a text.
  • Můžete také přetáhnout více prvků najednou. Z důvodu konzistence se však doporučuje mít všechny ve stejném formátu.
  • Prvky formulářů, které přijímají vstup uživatele, mohou být ve výchozím nastavení droppable areas.

Podpora prohlížeče

Chrome

46+

Edge

Vše

Firefox

3.5+

IE

10+

Opera

Vše

Safari

3.1+

Mobilní prohlížeč podpora

Chrome

Firefox

Vše

Opera

Safari

Leave a Reply

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *