html подія ondrop
Подія ondrop викликається в момент, коли користувач кидає перетягуваний елемент на дійсну зону призначення.
Дії тягнути та кидати (drag and drop) дуже схожі в HTML5. Це коли ви "захопити" об'єкт та перетягуєте його в інше місце.
Є багато подій, які використовуються, і можуть статися в різних стадіях операції перетягування (drag and drop):
Події котрі викликаються при перетягуванні елемента:
- ondragstart - спрацьовує, коли користувач починає перетягувати елемент.
- ondrag - спрацьовує, коли елемент тягнуть.
- ondragend - спрацьовує, коли користувач закінчив перетягування.
Події котрі викликаються при падіння елемента на ціль:
- ondragenter - спрацьовує, коли перетягуваний елемент входить в зону елемента приймача.
- ondragover - спрацьовує, коли перетягуваний елемент знаходить в зоні елемента приймача.
- ondragleave - спрацьовує, коли перетягуваний елемент покидає зону елемента приймача.
- ondrop - спрацьовує, коли перетягуваний елемент кинуто на елемент приймач.
- Порада
-
Посилання та зображення доступні для перетягування без задання, їм не потрібно присвоювати глобальний HTML5 атрибут draggable.
автор: NagarD - Нотатка
-
Для того, щоб елемент було можливо перетягувати, використовуйте глобальний HTML5 атрибут draggable.
автор: NagarD
Синтаксис
<element ondrop="script">
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 4.0+ | 3.5+ | 6.0+ | 12.0+ | 9.0+ |
Мобільних переглядачів ще не додано.
Приклади
+ запропонувати свій приклад у пісочниці
Повний цикл: щоб ondrop узагалі спрацював, ціль мусить скасувати типову поведінку в ondragover — це найчастіша пастка drag&drop. Перетягни текст у рамку.
HTML
<p draggable="true">Перетягни мене в рамку ↓</p>
<div class="drop"
ondragover="event.preventDefault()"
ondrop="event.preventDefault(); this.textContent = 'Спіймано!'; console.log('drop')">
Кинь сюди
</div>
CSS
.drop {
height: 80px;
border: 2px dashed #0172ad;
padding: 8px;
}
Різниця між HTML 4.01 та HTML5
Подія ondrop з’явилася тільки в HTML5.
Різниця між XHTML та HTML
Коментарі
Коментарів ще немає — будьте першим!