Spec-Zone.ru › Web APIs

HTMLElement: событие dragleave

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

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

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

Событие dragleave срабатывает, когда перетаскиваемый элемент или выделенный текст покидают допустимую область для падения.

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

Синтаксис

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

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

ondragleave = (event) => {};

Тип события

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

Событие UIEvent MouseEvent DragEvent

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

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

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

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

Примеры

Сброс стилей зоны падения при событии dragleave

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

Мы задаём другому контейнеру фиолетовый фон, пока перетаскиваемый элемент находится над ним, чтобы указать, что его можно опустить в контейнер. Мы прослушиваем событие dragleave для сброса фона контейнера, когда перетаскиваемый элемент выходит за пределы контейнера.

Однако в этом частичном примере мы не реализовали опускание: для полного примера перетаскивания и опускания см. страницу события drag.

HTML

<div class="dropzone">
  <div id="draggable" draggable="true">This div is draggable</div>
</div>
<div class="dropzone" id="drop-target"></div>

CSS

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

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

.dropzone {
  width: 200px;
  height: 20px;
  background: blueviolet;
  margin: 10px;
  padding: 10px;
}

.dropzone.dragover {
  background-color: purple;
}

JavaScript

const target = document.getElementById("drop-target");
target.addEventListener("dragenter", (event) => {
  // highlight potential drop target when the draggable element enters it
  if (event.target.classList.contains("dropzone")) {
    event.target.classList.add("dragover");
  }
});

target.addEventListener("dragleave", (event) => {
  // reset background of potential drop target when the draggable element leaves it
  if (event.target.classList.contains("dropzone")) {
    event.target.classList.remove("dragover");
  }
});

Результат

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

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

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

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

См. также

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

    • drag
    • dragstart
    • dragend
    • dragover
    • dragenter
    • 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/dragleave_event

Spec-Zone.ru

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