直接上代码
<!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>
</head>
<style>
#content {
border: 1px solid;
width: 500px;
height: 500px;
display: flex;
}
.left {
width: 200px;
border: 10px solid;
}
.right {
flex: 1;
background: pink;
}
.drag {
border: 1px solid;
width: 100px;
height: 100px;
}
</style>
<body>
<div draggable="true" class="drag">drag</div>
<div id="content">
<div class="left">left</div>
<div class="right">right</div>
</div>
<script>
//即使是直接绑定document,也会有相同的问题。
document.getElementById("content").addEventListener(
"dragover",
e => {
e.preventDefault();
},
true
);
</script>
</body>
</html>
将 drag拖拽到 left和right之间时,可以看到鼠标会有一瞬间的禁用样式,有什么解决办法吗?
我看vscode拖拽过程比较丝滑,但是没找到怎么实现的~
这个是浏览器的默认行为吧,表示这个位置不能进行拖放操作
如果不想要这种效果,可以用脚本自己模拟拖拽,不使用原生api