js 判断是否拖拽到指定的dom内
时间: 2023-09-19 09:10:54 浏览: 100
可以使用 HTML5 Drag and Drop API 来实现判断拖拽到指定的 DOM 内。具体步骤如下:
1. 给目标 DOM 元素设置 `ondragover` 事件处理函数,以便在拖拽元素进入目标元素时触发。
2. 在 `ondragover` 事件处理函数中,调用 `event.preventDefault()` 防止浏览器默认的拖拽行为。
3. 判断拖拽元素是否能够被放置到目标元素内,如果可以则设置目标元素的 `ondrop` 事件处理函数。
4. 在 `ondrop` 事件处理函数中,处理拖拽元素放置到目标元素内的逻辑。
示例代码如下:
```javascript
// 获取目标元素
const targetElement = document.getElementById('target');
// 绑定 ondragover 事件处理函数
targetElement.ondragover = function(event) {
// 防止浏览器默认的拖拽行为
event.preventDefault();
// 判断是否能够放置
if (event.dataTransfer.types.includes('text/plain')) {
// 设置 ondrop 事件处理函数
targetElement.ondrop = function(event) {
// 处理拖拽元素放置到目标元素内的逻辑
};
}
};
```
在上面的代码中,我们判断拖拽元素是否能够被放置到目标元素内的方式是检查 `event.dataTransfer.types` 数组中是否包含 `'text/plain'`,这是由拖拽元素的 `setData()` 方法设置的数据类型。如果需要支持多种数据类型,则可以在 `ondragover` 事件处理函数中进行遍历判断。