Pomocí taháku událost Zobrazuji na webové stránce dropzone, aby se soubory rychle nahrály, a vše funguje dobře. Dropzone se ale vyskakuje i při přetahování vybraného textu. Jak včas rozpoznat rozdíl?
-
Vím, že událost drop odhaluje veškerý obsah souboru k iteraci pomocí dataTransfer.files, ale to už je pozdě. Potřebuji to na dragenter, jen já vidím, že pole souborů je vždy prázdné.
-
Potřebuji plnou kontrolu nad vzhledem a chováním Nehledám existující knihovnu.
-
Vidím různé hodnoty pro event.dataTransfer.Clipboard.effectAllowed při přetahování textu oproti souborům, ale hodnoty se také liší podle prohlížeče (Chrome vs FF).
-
MooTools je na místě, pokud to pomůže.
Odpověď
Dobře, udělal jsem dostatečný pokrok, abych začal rozlišovat v Chrome a Firefoxu (3.6+). Pravděpodobně to není spolehlivé, ale pro případ, že by to někomu mohlo být užitečné, zde je kód:
var isFileTransfer = false; if (evt.dataTransfer.types) { for (var i=0; i<evt.dataTransfer.types.length; i++) { if (evt.dataTransfer.types[i] == "Files") { isFileTransfer = true; break; } } }