console
let dragged;
const source = document.getElementById("draggable");
source.addEventListener("dragstart", (event) => {
dragged = event.target;
event.target.classList.add("dragging");
});
source.addEventListener("dragend", (event) => {
event.target.classList.remove("dragging");
});
const leftTarget = document.getElementById("leftTarget");
const rightTarget = document.getElementById("rightTarget");
leftTarget.addEventListener(
"dragover",
(event) => {
event.preventDefault();
},
false,
);
leftTarget.addEventListener("drop", (event) => {
event.preventDefault();
dragged.parentNode.removeChild(dragged);
event.target.appendChild(dragged);
});
rightTarget.addEventListener(
"dragover",
(event) => {
event.preventDefault();
},
false,
);
rightTarget.addEventListener("drop", (event) => {
event.preventDefault();
dragged.parentNode.removeChild(dragged);
event.target.appendChild(dragged);
});
<div class="header">
<div class="left" id="leftTarget">
<div class="share" id="draggable" draggable="true">分享</div>
</div>
<div class="right" id="rightTarget">
</div>
</div>
.header{
display: flex;
align-items: center;
justify-content: space-between;
height: 60px;
}
.left,.right{
width: 50%;
height: 100%;
border: 1px solid gray;
}
.left,.right{
display: flex;
align-items: center;
padding: 0 15px
}
.left{
justify-content: flex-start;
}
.right{
justify-content: flex-end;
}
.share{
background-color: blueviolet;
width: 40px;
height: 40px;
text-align: center;
line-height: 40px;
cursor: pointer;
}
.dragging {
opacity: 0.5;
}