H5 拖拽
Posted auserroot
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H5 拖拽相关的知识,希望对你有一定的参考价值。
H5原生拖拽属性使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box
width: 200px;
height: 200px;
border: 1px solid #000;
.item
width: 20px;
height: 20px;
background-color: chartreuse;
margin: 20px;
</style>
</head>
<body>
<div class="box"></div>
<div class="item"></div>
</body>
</html>
<script>
let item = document.querySelector('.item')
let box = document.querySelector('.box')
//添加允许拖拽属性
item.draggable = true
//strat drag event
item.ondragstart = function(e)
// e = window.event||event
// console.log('.......',e)
// e.dataTransfer.setData('item',e.target.className)//存储class标识
//阻止拖拽默认事件
box.ondragover = function(e)
e = window.event||event
e.preventDefault();
box.ondrop = function(e)
// e = window.event||event
// console.log(e.dataTransfer.getData('item'))
// let ite = document.querySelector('.'+e.dataTransfer.getData('item'))//获取ondragstart中存储的数据
// e.target.appendChild(ite)
e.target.appendChild(item)
</script>
未注释代码为精简版方案
使用H5 drag api 在ie浏览器中存在兼容性问题 ie 中不支持 dataTransfer中的setData、getData 和 setDragImage 数据存储可使用store 或 sessionStorage、localStorage替换
以上是关于H5 拖拽的主要内容,如果未能解决你的问题,请参考以下文章