Spec-Zone.ru › Web APIs

HTMLElement: событие dragstart

Базовая реализация Широко поддерживается

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

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

Событие dragstart срабатывает, когда пользователь начинает перетаскивание элемента или выделения текста.

Это событие может быть отменено и может распространяться до объектов Document и Window.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика события.

addEventListener("dragstart", (event) => {});

ondragstart = (event) => {};

Тип события

Объект DragEvent. Наследуется от Event.

Событие UIEvent MouseEvent DragEvent

Свойства события

Помимо перечисленных ниже свойств, доступны свойства из родительского интерфейса Event.

DragEvent.dataTransfer Только для чтения

Данные, которые передаются во время взаимодействия перетаскивания и размещения.

Примеры

Изменение непрозрачности при начальном перетаскивании

В этом примере у нас есть перетаскиваемый элемент внутри контейнера. Попробуйте схватить элемент, перетащить его и отпустить.

Мы прослушиваем событие dragstart для того, чтобы сделать элемент наполовину прозрачным во время перетаскивания.

Полный пример перетаскивания и размещения см. на странице события drag.

HTML

<div id="container">
  <div id="draggable" draggable="true">This div is draggable</div>
</div>
<div class="dropzone"></div>

CSS

body {
  /* Prevent the user from selecting text in the example */
  user-select: none;
}

#draggable {
  text-align: center;
  background: white;
}

#container {
  width: 200px;
  height: 20px;
  background: blueviolet;
  padding: 10px;
}

.dragging {
  opacity: 0.5;
}

JavaScript

const source = document.getElementById("draggable");
source.addEventListener("dragstart", (event) => {
  // make it half transparent
  event.target.classList.add("dragging");
});

source.addEventListener("dragend", (event) => {
  // reset the transparency
  event.target.classList.remove("dragging");
});

Результат

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

Спецификация
HTML
# ix-handler-ondragstart
HTML
# event-dnd-dragstart

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
dragstart_event 1 12 9 12 3.1 18 9 12 2 1.0 4.4

См. также

  • Другие события перетаскивания и размещения:

    • drag
    • dragend
    • dragover
    • dragenter
    • dragleave
    • drop

© 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/HTMLElement/dragstart_event

Spec-Zone.ru

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