drag onto body

master
Matt Huntington 2 years ago
parent ea2f72ab64
commit fa88f2050b

@ -1,5 +1,9 @@
body,html {
height:100%;
}
ul { ul {
padding:0; padding:0;
margin:0;
} }
li { li {
padding:1em; padding:1em;
@ -14,7 +18,7 @@ li {
list-style:none; list-style:none;
} }
li.dragging { .dragging {
cursor:grabbing; cursor:grabbing;
background-color:lightgrey; background-color:lightgrey;
} }

@ -1,25 +1,26 @@
let currentDraggedItem = null; let currentDraggedItem = null;
const lis = document.querySelectorAll('li'); const lisAndBody = document.querySelectorAll('li, body');
for (li of lis) { for(const element of lisAndBody){
li.addEventListener('dragstart', (event)=>{ element.addEventListener('dragstart', (event)=>{
currentDraggedItem = event.target; currentDraggedItem = event.target;
}) })
li.addEventListener('dragover', (event)=>{ element.addEventListener('dragover', (event)=>{
event.preventDefault() event.preventDefault()
event.target.classList.add('dragging'); event.target.classList.add('dragging');
}) })
li.addEventListener('dragleave', (event)=>{ element.addEventListener('dragleave', (event)=>{
event.target.classList.remove('dragging'); event.target.classList.remove('dragging');
}) })
li.addEventListener('drop', (event)=>{ element.addEventListener('drop', (event)=>{
event.stopPropagation()
event.target.classList.remove('dragging'); event.target.classList.remove('dragging');
event.target.children[1].appendChild(currentDraggedItem) event.target.children[1].appendChild(currentDraggedItem)
}) })
} }
const deleteButtons = document.querySelectorAll('button'); const deleteButtons = document.querySelectorAll('button');
for (deleteButton of deleteButtons) { for (const deleteButton of deleteButtons) {
deleteButton.addEventListener('click', (event)=>{ deleteButton.addEventListener('click', (event)=>{
event.target.parentNode.remove() event.target.parentNode.remove()
}) })

@ -24,8 +24,6 @@
<button>Delete</button> <button>Delete</button>
<ul></ul> <ul></ul>
</li> </li>
</ul>
<ul>
<li draggable="true"> <li draggable="true">
four four
<button>Delete</button> <button>Delete</button>

Loading…
Cancel
Save