JS властивість Event.dragend


Загальний опис

dragend — це подія, яка спрацьовує після того, як користувач завершив перетягування елемента. Подія dragend є частиною Drag and Drop API і дає змогу визначити, коли операція перетягування завершена, незалежно від того, чи була вона успішною (скидання елемента в цільовій зоні) чи скасованою (відпускання елемента поза цільовою зоною). Ця подія є корисною для очищення або відновлення стану елемента, з якого було розпочато перетягування, або для виконання додаткових дій, таких як запис у лог чи зворотний виклик.

Для використання події dragend розробник повинен додати обробник подій до елемента, який має бути перетягуваним. Наприклад:

const draggableElement = document.getElementById('draggable');

draggableElement.addEventListener('dragend', function(event) {
  event.target.style.opacity = '1';
  console.log('Перетягування завершено.');
});

У цьому прикладі, коли користувач завершить перетягування елемента з ідентифікатором draggable, його непрозорість буде відновлена до значення 1, а в консоль буде виведено повідомлення про завершення перетягування. Це може бути корисно для відновлення вихідного вигляду елемента або зміни стану після завершення перетягування.

Подія dragend працює в комбінації з іншими подіями, такими як dragstart (початок перетягування), drag (процес перетягування), dragover (елемент перетягується над допустимою областю), і drop (скидання елемента). Ці події дозволяють створювати повноцінні механізми перетягування та скидання на веб-сторінках, що забезпечує багатий користувацький досвід.

Подія dragend також може бути використана для видалення або зміни стилів, які були застосовані під час перетягування, таких як тіні, бордюри або фонові кольори. Це дозволяє розробникам надавати користувачам візуальні підказки під час перетягування, а потім відновлювати початковий стан елементів після завершення дії. Наприклад, можна видалити клас CSS, який додавав стиль тіні під час перетягування, або скинути координати елемента до вихідних значень.

автор: Bond

Порада

Переконайтеся, що ви також обробляєте події dragstart і dragend разом, щоб забезпечити плавний перехід між станами елементів. Наприклад, змініть зовнішній вигляд елемента на початку перетягування і відновіть його після завершення.

автор: Bond
Порада

Якщо ваш елемент змінює стиль під час перетягування (наприклад, стає напівпрозорим), використовуйте подію dragend для відновлення початкового стилю. Це забезпечить краще візуальне сприйняття для користувачів.

автор: Bond
Порада

Використовуйте dragend для скидання будь-яких тимчасових даних, що використовуються під час перетягування. Наприклад, ви можете очистити об'єкт DataTransfer або видалити тимчасові елементи, які були створені під час перетягування.

автор: Bond

Синтаксис

element.addEventListener('dragend', function(event) {
  // Ваш код тут
});

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 9 3.1 12 12 9
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 9 2

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі, коли користувач починає перетягувати елемент, його прозорість змінюється, щоб візуально показати стан перетягування. Після завершення перетягування прозорість повертається до вихідного значення, забезпечуючи плавний перехід між станами елемента.

HTML

<div id="draggableItem">Демонстраційний елемент</div>

JS

const item = document.getElementById('draggableItem');

item.addEventListener('dragstart', function(event) {
  event.target.style.opacity = '0.5';
});

item.addEventListener('dragend', function(event) {
  event.target.style.opacity = '1';
  console.log('Перетягування завершено, стиль відновлено.');
});
автор: Bond

У цьому прикладі, коли користувач починає перетягувати елемент, до нього додається тінь, щоб підкреслити перетягування. Після завершення перетягування тінь видаляється, а тимчасові дані очищуються, що забезпечує більш чистий і зрозумілий інтерфейс користувача.

HTML

<div id="draggableBox">Демонстраційний елемент</div>

JS

const draggableBox = document.getElementById('draggableBox');

draggableBox.addEventListener('dragstart', function(event) {
  event.target.style.boxShadow = '5px 5px 15px rgba(0, 0, 0, 0.3)';
  event.dataTransfer.setData('text/plain', 'Перетягується елемент.');
});

draggableBox.addEventListener('dragend', function(event) {
  event.target.style.boxShadow = 'none';
  console.log('Перетягування завершено, тінь видалено.');
});
автор: Bond

У цьому прикладі користувач може перетягувати різні елементи в цільову область. Подія dragend використовується для відновлення прозорості елемента після завершення перетягування. Якщо елемент успішно скинуто в область, збільшується лічильник, що відображає кількість успішних скидань. Кнопка "Очистити" дозволяє скинути лічильник і повернути елементи на початкову позицію, що робить інтерфейс більш динамічним і інтерактивним.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід