Spec-Zone.ru › Web APIs

DataTransfer

Базовая Широко доступна

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Объект DataTransfer используется для хранения любых данных, передаваемых между контекстами, например, при операции перетаскивания или чтении/записи буфера обмена. Он может содержать один или несколько элементов данных, каждый из которых может иметь один или несколько типов данных.

DataTransfer был в первую очередь разработан для API перетаскивания и перемещения HTML, как свойство DragEvent.dataTransfer, и до сих пор определен в разделе HTML перетаскивания, но теперь он также используется другими API, такими как ClipboardEvent.clipboardData и InputEvent.dataTransfer. Однако другие API используют только определенные части его интерфейса, игнорируя свойства, такие как dropEffect. Документация DataTransfer в основном будет обсуждать его использование в операциях перетаскивания, и вы должны обратиться к документации других API для использования DataTransfer в этих контекстах.

Конструктор

DataTransfer()

Создаёт и возвращает новый объект DataTransfer.

Свойства экземпляра

DataTransfer.dropEffect

Получает тип операции перетаскивания, выбранной в настоящее время, или устанавливает операцию на новый тип. Значение должно быть none, copy, link или move.

DataTransfer.effectAllowed

Предоставляет все типы операций, которые возможны. Должно быть одним из none, copy, copyLink, copyMove, link, linkMove, move, all или uninitialized.

DataTransfer.files Только для чтения

Содержит список всех локальных файлов, доступных в передаче данных. Если операция перетаскивания не включает перетаскивание файлов, это свойство является пустым списком.

DataTransfer.items Только для чтения

Предоставляет объект DataTransferItemList, который является списком всех данных перетаскивания.

DataTransfer.types Только для чтения

Массив строк, указывающий форматы, установленные в событии dragstart.

Методы экземпляра

DataTransfer.addElement() Экспериментальный Нестандартный

Устанавливает исходный элемент перетаскивания для данного элемента. Это будет тот элемент, для которого срабатывают события drag и dragend, а не стандартный целевой элемент (узел, который был перетащен). Специфично для Firefox.

DataTransfer.clearData()

Удаляет данные, связанные с заданным типом. Аргумент type необязателен. Если type пустой или не указан, удаляются данные, связанные со всеми типами. Если данных для указанного типа не существует или передача данных не содержит данных, этот метод не повлияет.

DataTransfer.getData()

Извлекает данные для заданного типа или пустую строку, если данных для этого типа не существует или передача данных не содержит данных.

DataTransfer.setData()

Устанавливает данные для данного типа. Если данные для типа не существуют, они добавляются в конец, так что последний элемент в списке types будет новым форматом. Если данные для типа уже существуют, существующие данные заменяются на том же месте.

DataTransfer.setDragImage()

Устанавливает изображение, используемое для перетаскивания, если необходимо использовать пользовательское изображение.

Примеры

Каждая функция и свойство, указанные в этом документе, имеют свою страницу справки, и каждая страница справки либо напрямую включает пример интерфейса, либо содержит ссылку на пример.

Спецификации

Спецификация
HTML
# the-datatransfer-interface

Совместимость браузеров

Настольные компьютеры Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
DataTransfer 59 17 62 46 14.1 59 62 44 14.5 8.0 59
DataTransfer 3 12
3.5Начиная с Firefox 52, свойство DataTransfer.types возвращает замороженный массив DOMString в соответствии со спецификацией, а не DOMStringList.
12 4 18
4Начиная с Firefox для Android 52, свойство DataTransfer.types возвращает замороженный массив DOMString в соответствии со спецификацией, а не DOMStringList.
12 3.2 1.0 ≤37
addElement Нет Нет 3.5 Нет Нет Нет 4 Нет Нет Нет Нет
clearData 3 12 3.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
dropEffect 3 12 3.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
effectAllowed 3 12 3.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
files 3 12 3.6 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
getData 3 12 3.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
items 3 12 50 12 11.1 18 52 12 11.3 1.0 ≤37
mozCursor Нет Нет 3.5 Нет Нет Нет 4 Нет Нет Нет Нет
mozSourceNode Нет Нет 4 Нет Нет Нет 4 Нет Нет Нет Нет
mozUserCancelled Нет Нет 3.5 Нет Нет Нет 4 Нет Нет Нет Нет
setData 3 12 3.5 12 5 18 4 12 5 1.0 ≤37
setDragImage 3 18 3.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
types 3 12 3.5
≤12.1Начиная с Opera 12, возвращается Text вместо text/plain
4 18 4 ≤12.1 3.2 1.0 ≤37

См. также

  • Перетаскивание
  • Операции перетаскивания
  • Рекомендуемые типы перетаскивания
  • Тест DataTransfer - Вставка или перетаскивание

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API