Jednou z novinek HTML5 je API pro drag & drop. Implementuje ho i nedávno vydaný Firefox 3.5. API nevzniklo na zelené louce, bylo vytvořeno dle implementace v Internet Exploreru a její kopie v Safari.
Pro implementaci drag & drop podle nového API již není třeba používat nízkoúrovňových událostí typu mousedown a mousemove, můžete sáhnout po událostech typu dragstart, dragend atd.
Demo
Výsledek si můžete ve Firefoxu 3.5 vyzkoušet na sadě ukázek.
Zdrojový kód je diskutovaný v článku HTML5 drag and drop in Firefox 3.5.
Připravil jsem i minimální kód potřebný pro zahájení drag & drop procesu.
Jelikož počet vývojářů, kteří používají nativní JavaScript klesá, klesá i význam téhle zprávy. Z událostí DOMu se pomalu stává cosi nenápadného, co se schovává kdesi dole pod frameworkem, který jejich obsluhu bezchybně zvládne.
I přesto je dobré minimálně vědět, že takové nové API existuje, abyste jednou nebyli překvapeni, a nepřemýšleli, kde se ta záhadná událost dragleave vlastně vzala.
Aktualizace
Vizionáře v oboru webových aplikací jistě nadchne fakt, že tento mechanismus funguje i napříč doménami, tj. můžete provádět drag & drop třeba mezi Emailem na Seznamu a Google Docs. A na těchto aplikacích pak záleží, zda se spolu dokáží domluvit.
čtvrtek 16. července 2009
Vyzkoušejte si nové drag and drop API ve Firefoxu 3.5
Štítky:
draganddrop,
firefox
Přihlásit se k odběru:
Komentáře k příspěvku (Atom)
presne tak aj ja som nedávno kôli autocomplete nasadil na svojom webe jQuery
OdpovědětVymazatjestli jsem to pochopil dobře, tak se dá přetahovat i mezi okny, nebo ne?
OdpovědětVymazat@Aichi: Já věřím, že jo, ale pořádně jsem nestudoval, zda to nemá nějaká omezení jako stejné domény apod.
OdpovědětVymazat@Aichi Vyzkoušel jsem a funguje mi to i mezi okny napříč doménami. Zkus si: http://jdem.cz/brqa9 Cíl může být jak v framu, tak samostatné okno, mezi tím není rozdíl. Ladil jsem to jen pro Firefox 3.5.
OdpovědětVymazatPěkné, zdá se, že to dokonce funguje i mezi Safari a Firefoxem, pokud jsem to dobře pochopil. Ono by to snad mohlo teoreticky při vhodné konstelaci hvězd fungovat i mezi úplně cizí aplikací a browserem.
OdpovědětVymazatVyzkoušeno a musím říci, že je to perfektní. Doporučuji všem. Díky za tip.
OdpovědětVymazatPerfektní záležitost, ovšem v ještě poměrně dost rozšířeném IE7 nefunguje(kdo by to čekal :-)). Takže pokud chcete stránky fungující (téměř)všude , tak se tohle zatím použít nedá.
OdpovědětVymazatAnonym: To API v IE do jisté míry funguje, ale pro některé ukázky to skutečně neplatí.
OdpovědětVymazat