пример
Выполнение JavaScript, когда элемент перетаскивается над целевым объектом перетаскивания:
<div ondragover="myFunction(event)"></div>
Попробуй сам " Больше "Try it Yourself" примеры ниже.
Определение и использование
OnDragOver событие происходит, когда перетаскиваемый элемент или выделенный текст перетаскивается над действующей целью снижения.
По умолчанию данные / элементы не могут быть удалены в других элементах. Чтобы разрешить падение, мы должны предотвратить обработку по умолчанию элемента. Это делается путем вызова event. preventDefault() event. preventDefault() метод для события OnDragOver.
Перетащите и падение является очень распространенной особенностью в HTML5. Это когда вы "grab" объект и перетащить его в другое место. Для получения дополнительной информации см нашего HTML Учебник по HTML5 перетаскивания .
Примечание: Для того, чтобы элемент перетаскиваемым использовать глобальный HTML5 перемещаемой атрибут.
Совет: Ссылки и изображения перетаскивать по умолчанию, и не нуждаются в draggable атрибуте.
Есть много событий, которые используются, и могут происходить в различных стадиях операции перетаскивания:
- События обстреляли на перетаскиваемой мишени (the source element) :
- ondragstart - происходит , когда пользователь начинает перетаскивать элемент
- ondrag - происходит , когда элемент перетаскивается
- ondragend - происходит , когда пользователь завершает перетаскивание элемента
- События открыли огонь по цели падения:
- OnDragEnter - происходит , когда элемент входит тащили целью снижения
- OnDragOver - происходит, когда тащили элемент над целевым объектом перетаскивания
- OnDragLeave - происходит , когда тащили элемент покидает цель снижения
- OnDrop - происходит , когда тащили элемент падает на цель перетаскивания
Примечание: При перемещении элемента, событие OnDragOver срабатывает каждые 350 миллисекунд.
Поддержка браузеров
Числа в таблице указать первую версию браузера, который полностью поддерживает событие.
Мероприятие | |||||
---|---|---|---|---|---|
ondragover | 4,0 | 9,0 | 3,5 | 6,0 | 12,0 |
Синтаксис
В HTML:
В JavaScript:
object .ondragover=function(){ Попробуй сам "
В JavaScript, используя addEventListener() метод:
object .addEventListener("dragover", myScript );
Попробуй сам " Примечание: addEventListener() метод не поддерживается в Internet Explorer 8 и более ранних версий.
Технические подробности
Пузыри: | да |
---|---|
аннулированию: | да |
Тип события: | DragEvent |
Поддерживаемые HTML-теги: | Все HTML-элементы |
DOM Версия: | Уровень 3 События |
Еще примеры
пример
Демонстрация всех возможных событий перетаскивания:
<p draggable="true" id="dragtarget">Drag me!</p>
<div
class="droptarget">Drop here!</div>
<script>
/* ----------------- Events fired on the drag target
----------------- */
document.addEventListener("dragstart", function(event) {
// The dataTransfer.setData() method sets the data type and the value of the
dragged data
event.dataTransfer.setData("Text", event.target.id);
// Output some text when starting to drag the p element
document.getElementById("demo").innerHTML = "Started to drag the p
element.";
// Change the opacity of the
draggable element
event.target.style.opacity = "0.4";
});
// While dragging the p element, change the color
of the output text
document.addEventListener("drag", function(event) {
document.getElementById("demo").style.color = "red";
});
// Output
some text when finished dragging the p element and reset the opacity
document.addEventListener("dragend", function(event) {
document.getElementById("demo").innerHTML = "Finished dragging the p
element.";
event.target.style.opacity = "1";
});
/* ----------------- Events fired on the drop target
----------------- */
// When the draggable p element enters the
droptarget, change the DIVS's border style
document.addEventListener("dragenter", function(event) {
if (
event.target.className == "droptarget" ) {
event.target.style.border =
"3px dotted red";
}
});
// By default, data/elements cannot be dropped in
other elements. To allow a drop, we must prevent the default handling of the
element
document.addEventListener("dragover", function(event) {
event.preventDefault();
});
// When the draggable p element leaves
the droptarget, reset the DIVS's border style
document.addEventListener("dragleave", function(event) {
if (
event.target.className == "droptarget" ) {
event.target.style.border = "";
}
});
/* On drop - Prevent the browser default handling of the data
(default is open as link on drop)
Reset the color of the output text and
DIV's border color
Get the dragged data with the dataTransfer.getData() method
The dragged data is the id of the dragged
element ("drag1")
Append the dragged element into the drop element
*/
document.addEventListener("drop", function(event) {
event.preventDefault();
if ( event.target.className == "droptarget" ) {
document.getElementById("demo").style.color = "";
event.target.style.border = "";
var data =
event.dataTransfer.getData("Text");
event.target.appendChild(document.getElementById(data));
}
});
</script>
Попробуй сам " Похожие страницы
Учебник HTML: HTML5 перетаскивания
HTML Ссылка: перетаскиваемый атрибут HTML
Объект события