拖拽属性 draggable

2023-12-18 01:12
文章标签 属性 拖拽 draggable

本文主要是介绍拖拽属性 draggable,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

H5 新增的属性 draggable,它能够给与一切的 html 元素拖动的效果。

拖拽元素

属性为 draggable="true" 的元素,可拖动,且拖动时鼠标变为禁用图标

ps: 直接写 draggable 可能无效

ondragstart

开始拖拽时触发(按下鼠标并移动的瞬间触发)

ondrag

发生在 ondragstart 之后,只要开始拖动,鼠标未放开就会一直触发

ondragend

拖动结束时触发(拖拽后,松开鼠标的瞬间触发)

拖入元素

ondragenter

任何拖拽元素进入拖入元素时触发(鼠标触碰到拖入元素的边界时触发,此时还未松开鼠标)

ondragover

只要拖拽元素在拖入元素中移动就会一直触发。

ps: 正常情况下元素拖拽时 cursor 都是禁用图标,若想进入拖入元素时显示“加入”图标,需在 ondragover 事件里加上  e.preventDefault();  阻止默认行为。

ondragleave

拖拽元素离开拖入元素的瞬间触发(一定得先进入再离开 )

drop

拖拽元素被放置到拖入元素中时触发(拖到拖入元素中后,松开鼠标的瞬间触发)

Vue3 代码示例

<template><div><divclass="divA"id="divA"draggable="true"@dragstart="handleDragstart"@drag="handleDrag"@dragend="handleDragend">A--拖拽元素</div><divclass="divB"@dragover="handleDragover"@dragenter="handleDragenter"@dragleave="handleDragleave"@drop="handleDrop">B--拖入元素</div></div>
</template><script setup>
function handleDragover(e) {e.preventDefault();console.log('handleDragover');
}function handleDragenter(e) {console.log('handleDragenter');
}function handleDragstart(e) {e.dataTransfer.setData('text/plain', event.target.id);console.log('handleDragstart');
}function handleDrag(e) {console.log('handleDrag');
}function handleDragend(e) {console.log('handleDragend');
}function handleDragleave(e) {console.log('handleDragleave');
}function handleDrop(e) {console.log('handleDrop', e);const id = e.dataTransfer.getData('text/plain');const draggableElement = document.getElementById(id);e.target.appendChild(draggableElement);
}
</script><style scoped>
.divA {background: yellow;height: 100px;width: 100px;
}
.divB {margin-top: 20px;background: rgb(105, 108, 243);height: 200px;width: 200px;
}
</style>

这篇关于拖拽属性 draggable的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/506507

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

HTML5 data-*自定义数据属性的示例代码

《HTML5data-*自定义数据属性的示例代码》HTML5的自定义数据属性(data-*)提供了一种标准化的方法在HTML元素上存储额外信息,可以通过JavaScript访问、修改和在CSS中使用... 目录引言基本概念使用自定义数据属性1. 在 html 中定义2. 通过 JavaScript 访问3.

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为