📜  在放置、拖动、拖动事件时 - Javascript (1)

📅  最后修改于: 2023-12-03 15:37:42.653000             🧑  作者: Mango

在放置、拖动、拖放事件时 - Javascript

在 Web 应用程序中,许多情况下需要在用户拖动和放置元素时执行某些操作。以下是一些可以在 JavaScript 中使用的拖放事件和方法。

拖动事件
ondragstart

当用户开始拖动一个元素时,触发 ondragstart 事件。你可以使用此事件,设置要移动的数据以及拖动数据时所显示的外观。

document.getElementById("drag-element").addEventListener("dragstart", function(event) {
  // 设置要移动的数据
  event.dataTransfer.setData("text/plain", event.target.id);
});
ondrag

当元素正在被拖动时,触发 ondrag 事件。

document.getElementById("drag-element").addEventListener("drag", function(event) {
  // 拖动时的操作
});
ondragend

当拖动结束时,触发 ondragend 事件。

document.getElementById("drag-element").addEventListener("dragend", function(event) {
  // 拖动结束时的操作
});
放置事件
ondragenter

当拖动元素进入可放置区域时,触发 ondragenter 事件。

document.getElementById("drop-zone").addEventListener("dragenter", function(event) {
  // 进入可放置区域时的操作
});
ondragover

当元素正在被拖动并且鼠标指针正在放置它时,触发 ondragover 事件。这个事件必须不断地阻止默认行为来允许元素放置到放置区域内。

document.getElementById("drop-zone").addEventListener("dragover", function(event) {
  // 阻止默认行为
  event.preventDefault();
});
ondrop

当拖动元素放置到放置区域时,触发 ondrop 事件。你可以使用此事件,获取移动的数据以及其它想要的数据。

document.getElementById("drop-zone").addEventListener("drop", function(event) {
  // 获取移动的数据
  var data = event.dataTransfer.getData("text/plain");

  // 阻止默认行为
  event.preventDefault();
});
拖动方法
setData

在拖动开始时,使用 setData 方法来设置要移动的数据。

event.dataTransfer.setData("text/plain", event.target.id);
getData

在拖动结束时,使用 getData 方法来获取移动的数据。

var data = event.dataTransfer.getData("text/plain");
Markdown
# 在放置、拖动、拖放事件时 - Javascript
在 Web 应用程序中,许多情况下需要在用户拖动和放置元素时执行某些操作。以下是一些可以在 JavaScript 中使用的拖放事件和方法。

## 拖动事件
### ondragstart
当用户开始拖动一个元素时,触发 ondragstart 事件。你可以使用此事件,设置要移动的数据以及拖动数据时所显示的外观。
```javascript
document.getElementById("drag-element").addEventListener("dragstart", function(event) {
  // 设置要移动的数据
  event.dataTransfer.setData("text/plain", event.target.id);
});
ondrag

当元素正在被拖动时,触发 ondrag 事件。

document.getElementById("drag-element").addEventListener("drag", function(event) {
  // 拖动时的操作
});
ondragend

当拖动结束时,触发 ondragend 事件。

document.getElementById("drag-element").addEventListener("dragend", function(event) {
  // 拖动结束时的操作
});
放置事件
ondragenter

当拖动元素进入可放置区域时,触发 ondragenter 事件。

document.getElementById("drop-zone").addEventListener("dragenter", function(event) {
  // 进入可放置区域时的操作
});
ondragover

当元素正在被拖动并且鼠标指针正在放置它时,触发 ondragover 事件。这个事件必须不断地阻止默认行为来允许元素放置到放置区域内。

document.getElementById("drop-zone").addEventListener("dragover", function(event) {
  // 阻止默认行为
  event.preventDefault();
});
ondrop

当拖动元素放置到放置区域时,触发 ondrop 事件。你可以使用此事件,获取移动的数据以及其它想要的数据。

document.getElementById("drop-zone").addEventListener("drop", function(event) {
  // 获取移动的数据
  var data = event.dataTransfer.getData("text/plain");

  // 阻止默认行为
  event.preventDefault();
});
拖动方法
setData

在拖动开始时,使用 setData 方法来设置要移动的数据。

event.dataTransfer.setData("text/plain", event.target.id);
getData

在拖动结束时,使用 getData 方法来获取移动的数据。

var data = event.dataTransfer.getData("text/plain");