📅  最后修改于: 2023-12-03 15:37:42.653000             🧑  作者: Mango
在 Web 应用程序中,许多情况下需要在用户拖动和放置元素时执行某些操作。以下是一些可以在 JavaScript 中使用的拖放事件和方法。
当用户开始拖动一个元素时,触发 ondragstart 事件。你可以使用此事件,设置要移动的数据以及拖动数据时所显示的外观。
document.getElementById("drag-element").addEventListener("dragstart", function(event) {
// 设置要移动的数据
event.dataTransfer.setData("text/plain", event.target.id);
});
当元素正在被拖动时,触发 ondrag 事件。
document.getElementById("drag-element").addEventListener("drag", function(event) {
// 拖动时的操作
});
当拖动结束时,触发 ondragend 事件。
document.getElementById("drag-element").addEventListener("dragend", function(event) {
// 拖动结束时的操作
});
当拖动元素进入可放置区域时,触发 ondragenter 事件。
document.getElementById("drop-zone").addEventListener("dragenter", function(event) {
// 进入可放置区域时的操作
});
当元素正在被拖动并且鼠标指针正在放置它时,触发 ondragover 事件。这个事件必须不断地阻止默认行为来允许元素放置到放置区域内。
document.getElementById("drop-zone").addEventListener("dragover", function(event) {
// 阻止默认行为
event.preventDefault();
});
当拖动元素放置到放置区域时,触发 ondrop 事件。你可以使用此事件,获取移动的数据以及其它想要的数据。
document.getElementById("drop-zone").addEventListener("drop", function(event) {
// 获取移动的数据
var data = event.dataTransfer.getData("text/plain");
// 阻止默认行为
event.preventDefault();
});
在拖动开始时,使用 setData 方法来设置要移动的数据。
event.dataTransfer.setData("text/plain", event.target.id);
在拖动结束时,使用 getData 方法来获取移动的数据。
var data = event.dataTransfer.getData("text/plain");
# 在放置、拖动、拖放事件时 - Javascript
在 Web 应用程序中,许多情况下需要在用户拖动和放置元素时执行某些操作。以下是一些可以在 JavaScript 中使用的拖放事件和方法。
## 拖动事件
### ondragstart
当用户开始拖动一个元素时,触发 ondragstart 事件。你可以使用此事件,设置要移动的数据以及拖动数据时所显示的外观。
```javascript
document.getElementById("drag-element").addEventListener("dragstart", function(event) {
// 设置要移动的数据
event.dataTransfer.setData("text/plain", event.target.id);
});
当元素正在被拖动时,触发 ondrag 事件。
document.getElementById("drag-element").addEventListener("drag", function(event) {
// 拖动时的操作
});
当拖动结束时,触发 ondragend 事件。
document.getElementById("drag-element").addEventListener("dragend", function(event) {
// 拖动结束时的操作
});
当拖动元素进入可放置区域时,触发 ondragenter 事件。
document.getElementById("drop-zone").addEventListener("dragenter", function(event) {
// 进入可放置区域时的操作
});
当元素正在被拖动并且鼠标指针正在放置它时,触发 ondragover 事件。这个事件必须不断地阻止默认行为来允许元素放置到放置区域内。
document.getElementById("drop-zone").addEventListener("dragover", function(event) {
// 阻止默认行为
event.preventDefault();
});
当拖动元素放置到放置区域时,触发 ondrop 事件。你可以使用此事件,获取移动的数据以及其它想要的数据。
document.getElementById("drop-zone").addEventListener("drop", function(event) {
// 获取移动的数据
var data = event.dataTransfer.getData("text/plain");
// 阻止默认行为
event.preventDefault();
});
在拖动开始时,使用 setData 方法来设置要移动的数据。
event.dataTransfer.setData("text/plain", event.target.id);
在拖动结束时,使用 getData 方法来获取移动的数据。
var data = event.dataTransfer.getData("text/plain");